问题描述
我在playstore上有一个现有的应用程序,该应用程序运行在最小sdk 15上.我进行了一些更改并尝试更新我的应用程序,当我上传apk时一切正常,但在发表评论"部分之前,playstore给了我一个如下警告
I have an existing app available on playstore which runs on min sdk 15. I had made some changes and try to update my app and when I uploaded my apk everything goes fine but before the publish on review section , playstore gives me a warning as below
停用此APK将导致您的应用可用于 在更少类型的设备上进行新安装.
Deactivation of this APK will result in your app being available for new installs on fewer types of devices.
提示如果这是意外更改,请将该APK保留在新版本中 发布或确保您的新APK支持当前所有受支持的APK 设备.
TipIf this is an unintended change, then retain this APK in the new release or ensure that your new APKs support all currently supported devices.
看到此警告后,我在不同的论坛中进行了搜索,以了解导致问题的原因
after seeing this warning i have search different forums to know what cause the problem
我的大多数搜索都表明,如果我在清单中指定了某些内容,例如 android:required ="false" 屏幕支持标签等
most of my search indicate that if i have specify something in manifest like android:required="false" screen support tags etc
但是问题是我没有添加任何新库或硬件功能,而仅添加了一些新类,我不知道是什么引起了问题.我将展示清单和gradle如何查找playstore中的现有应用程序和新的更新
but the thing is i have not added any new library or hardware feature only added some new classes, i have no idea what makes the issue. i will show how my manifest and gradle looks for the existing app in playstore and my new update
我现有的App提示和清单
My existing App gradle and manifest
成绩
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 gradle
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.GET_ACCOUNTS" />-->
<!-- <uses-permission android:name="android.permission.USE_CREDENTIALS" />-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- GCM Permissions -->
<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">
<!-- LAUNCHER ACTIVITY -->
<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" />
<!-- GCM CLASSES -->
<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>
以上是我目前在Playstore上的应用的详细信息
The above is my current app deatils on playstore
以下是来自Playstore的警告签名版本
The following is the warning signed build from playstore
渐变
// 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 gradle
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.GET_ACCOUNTS" />-->
<!-- <uses-permission android:name="android.permission.USE_CREDENTIALS" />-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- GCM Permissions -->
<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">
<!-- LAUNCHER ACTIVITY -->
<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" />
<!-- GCM CLASSES -->
<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>
</manifest>
我仅在清单上添加了2个活动,并在gradle中更改了新的Butternife.谁能帮我在Playstore中引起警告的原因,因为我的应用程序尚未进行任何重大更改.
I have only added 2 more activity on manifest and change the new butternife in gradle. can any one help me what cause the warning in playstore because I haven't made any major change in my app.
推荐答案
请检查此答案和评论.在大多数情况下,这是因为某些清单更改,一些屏幕支持或添加了新权限而引起的,这是一件好事.
Please check this answer and the comments.Most of the times it would be because of some manifest changes and some screen support or new permissions added and hence would be a good to go thing.
这篇关于设备支持已删除在Playstore Android上更新应用时出现的警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!