本文介绍了设备支持已删除在Playstore Android上更新应用时出现的警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在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

链接1

link2

我的大多数搜索都表明,如果我在清单中指定了某些内容,例如 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上更新应用时出现的警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-08 11:39