I have an existing application available on the planner that runs on min sdk 15. I made some changes and try to update my application, and when I download my apk everything is fine, but before publishing in the review section, playstore gives me a warning below
Removed device support Warning
Deactivating this APK will make your application available for new installations on fewer devices.
TipIf is an unintentional change, then save this APK in a new release or make sure that your new APKs support all currently supported devices.
after viewing this warning, I have a search in various forums to find out the cause of the problem
reference 1
link2
Most of my search queries indicate that if I specify something in the manifest, for example android: required = "false" screen support tags , etc.
but the fact is that I have not added a new library or hardware function yet, added only some new classes, I have no idea what makes the problem. I will show how my manifest and hail are looking for an existing application in the playstore and my new update
My existing gradle app and manifest
Gradle
buildscript { repositories { maven { url "http://dl.bintray.com/populov/maven" } mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' classpath 'com.google.gms:google-services:3.0.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { maven { url "http://dl.bintray.com/populov/maven" } mavenCentral() jcenter() } } //app gradel apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.my.app" minSdkVersion 15 targetSdkVersion 25 versionCode 10 versionName "2.0.0.3" } lintOptions { checkReleaseBuilds false } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(":volley") compile group: 'com.google.code.gson', name: 'gson', version: '2.3.1' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.viewpagerindicator:library: 2.4.1@aar ' compile 'com.android.support:cardview-v7:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'de.hdodenhof:circleimageview:2.0.0' compile 'com.facebook.android:facebook-android-sdk:4.7.0' compile 'com.google.android.gms:play-services-gcm:10.2.1' compile 'com.android.support:support-v4:25.3.1' compile 'uk.co.chrisjenx:calligraphy:2.2.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.jakewharton:butterknife:8.4.0' compile files('libs/YouTubeAndroidPlayerApi.jar') apt 'com.jakewharton:butterknife-compiler:8.4.0' } apply plugin: 'com.google.gms.google-services'
Manifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.my.app"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <permission android:name="com.my.app.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.my.app.permission.C2D_MESSAGE" /> <application android:name=".app.AppController" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".LaunchActivity" android:theme="@style/SplashTheme" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SliderActivity" android:screenOrientation="portrait"> </activity> <activity android:name=".LoginActivity" android:label="Sign In" android:screenOrientation="portrait" android:theme="@style/Login_Accent_Theme" ></activity> <activity android:name=".ForgotPasswordActivity" android:label="Change Password?" android:parentActivityName=".LoginActivity" android:screenOrientation="portrait" android:theme="@style/App_Accent_Theme" android:windowSoftInputMode="stateHidden"></activity> <activity android:name=".VideoActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:hardwareAccelerated="true" android:theme="@style/App_Accent_Theme" /> <activity android:name=".SignUpActivity" android:label="Sign Up" android:screenOrientation="portrait" android:theme="@style/Login_Accent_Theme"></activity> <activity android:name=".HomeActivity" android:launchMode="singleTop" android:configChanges="orientation" android:screenOrientation="portrait"></activity> <activity android:name=".YoutubePlayerActivity" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation|screenSize"></activity> <activity android:name=".VideoLessonActivity" android:parentActivityName=".HomeActivity" android:screenOrientation="portrait"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".NotificationActivity" android:screenOrientation="portrait" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".MTestActivity" android:parentActivityName=".HomeActivity" android:screenOrientation="portrait"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".MSummaryActivity" android:screenOrientation="portrait"> </activity> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".PdfActivity" android:launchMode="singleTop" android:parentActivityName=".HomeActivity" android:screenOrientation="portrait" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".WebActivity" android:hardwareAccelerated="true" android:screenOrientation="portrait"></activity> <activity android:name=".FeedWebview" android:hardwareAccelerated="true" android:label="News Feed" android:screenOrientation="portrait"></activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="com.my.app" /> </intent-filter> </receiver> <service android:name=".gcm.RegistrationIntentService" android:exported="false"/> <service android:name=".gcm.MyGcmListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </service> <service android:name=".gcm.MyInstanceIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID" /> </intent-filter> </service> </application>
Above is my current deatils application on playstore
Below is a warning line from playstore
gradel
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.google.gms:google-services:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { maven { url "http://dl.bintray.com/populov/maven" } mavenCentral() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } //app gradel apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.my.app" minSdkVersion 15 targetSdkVersion 25 versionCode 11 versionName "2.0.0.4" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(":volley") compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.viewpagerindicator:library: 2.4.1@aar ' compile 'com.android.support:cardview-v7:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'de.hdodenhof:circleimageview:2.0.0' compile 'com.facebook.android:facebook-android-sdk:4.7.0' compile 'com.google.android.gms:play-services-gcm:10.2.1' compile 'com.android.support:support-v4:25.3.1' compile 'uk.co.chrisjenx:calligraphy:2.2.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.jakewharton:butterknife:8.4.0' compile files('libs/YouTubeAndroidPlayerApi.jar') /*@new change gradle compile*/ compile 'com.jakewharton:butterknife:8.7.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0' compile 'com.google.code.gson:gson:2.3.1' } apply plugin: 'com.google.gms.google-services'
Manifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.my.app"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <permission android:name="com.my.app.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.my.app.permission.C2D_MESSAGE" /> <application android:name=".app.AppController" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".LaunchActivity" android:theme="@style/SplashTheme" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SliderActivity" android:screenOrientation="portrait"> </activity> <activity android:name=".LoginActivity" android:label="Sign In" android:screenOrientation="portrait" android:theme="@style/Login_Accent_Theme" ></activity> <activity android:name=".ForgotPasswordActivity" android:label="Change Password?" android:parentActivityName=".LoginActivity" android:screenOrientation="portrait" android:theme="@style/App_Accent_Theme" android:windowSoftInputMode="stateHidden"></activity> <activity android:name=".VideoActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:hardwareAccelerated="true" android:theme="@style/App_Accent_Theme" /> <activity android:name=".SignUpActivity" android:label="Sign Up" android:screenOrientation="portrait" android:theme="@style/Login_Accent_Theme"></activity> <activity android:name=".HomeActivity" android:launchMode="singleTop" android:configChanges="orientation" android:screenOrientation="portrait"></activity> <activity android:name=".YoutubePlayerActivity" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation|screenSize"></activity> <activity android:name=".VideoLessonActivity" android:parentActivityName=".HomeActivity" android:screenOrientation="portrait"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".NotificationActivity" android:screenOrientation="portrait" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".MTestActivity" android:parentActivityName=".HomeActivity" android:screenOrientation="portrait"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".MSummaryActivity" android:screenOrientation="portrait"> </activity> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".PdfActivity" android:launchMode="singleTop" android:parentActivityName=".HomeActivity" android:screenOrientation="portrait" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeActivity" /> </activity> <activity android:name=".WebActivity" android:hardwareAccelerated="true" android:screenOrientation="portrait"></activity> <activity android:name=".FeedWebview" android:hardwareAccelerated="true" android:label="News Feed" android:screenOrientation="portrait"></activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="com.my.app" /> </intent-filter> </receiver> <service android:name=".gcm.RegistrationIntentService" android:exported="false"/> <service android:name=".gcm.MyGcmListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </service> <service android:name=".gcm.MyInstanceIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID" /> </intent-filter> </service> <activity android:name=".ui.FiltrActivity" android:theme="@style/AppThemeNoAction" android:screenOrientation="portrait"/> <activity android:name=".ui.SolitActivity" android:theme="@style/AppThemeNoAction" android:screenOrientation="portrait"/> </application>
I added 2 more actions to the manifest and changed the new butternife in the hail. can someone help me, which will cause a warning in the game store, because I have not made any changes to my application.
thanks