相关疑难解决方法(0)

您无法提交更新,因为有关您的应用的某些信息不完整 (Google Play)

无法在 Google Play 中更新我的应用程序,因为它显示:

此版本包含 com.google.android.gms.permission.AD_ID 权限,但您在 Play 管理中心上的声明表明您的应用不使用广告 ID。

您必须更新您的广告 ID 声明。

首先,该应用程序不使用广告。

注入权限的库是 ->jetified-play-services-ads-identifier-18.0.0但我不知道它来自哪里。另外,为了确保删除此权限(无论如何),请在我的应用程序清单中添加:

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
Run Code Online (Sandbox Code Playgroud)

但它仍然说我的应用程序无法更新,因为它包含该权限。我已经通过 APK 分析器检查了清单,只是为了确定,它在清单文件中没有权限(我不知道为什么它仍然说权限在那里)...

还更新了 Play 商店的广告设置: 在此输入图像描述

但同样的事情仍然发生:(

更新

找到此权限的来源并禁用这些模块:

implementation ("com.google.firebase:firebase-analytics-ktx:21.1.0") {
        exclude module: "play-services-ads-identifier"
        exclude module: "play-services-measurement"
        exclude module: "play-services-measurement-sdk"
        exclude module: "play-services-measurement-api"
    }
Run Code Online (Sandbox Code Playgroud)

更改之后,合并的清单不再包含也通过 APK 分析器测试的权限,但不幸的是 Google Play 仍然说该应用程序包含权限(奇怪)...

如有任何帮助,我们将不胜感激:)

android android-manifest google-play android-studio google-advertising-id

159
推荐指数
3
解决办法
6万
查看次数

请求的操作:声明您的广告 ID 权限

今天我收到这封电子邮件:

\n
\n

去年 7 月,我们宣布了广告政策变更,以帮助加强\n安全和隐私。我们对针对儿童的应用使用的标识符添加了新的限制。\n 当用户选择删除其\n广告 ID 以退出个性化广告时,\n如果开发人员尝试访问标识符,\n他们将收到一串零而不是标识符。从 2022 年 4 月 1 日起,此行为将扩展到手机、平板电脑和 Android TV。我们还\n宣布,当您将应用的目标 API 级别更新为\n31 (Android 12) 时,\n您需要声明 AD_ID 权限。今天,我们宣布\n我们将给予开发者更多时间来缓解过渡。当您的应用能够定位\nAndroid 13 而不是从 Android 12 开始时,\n我们将需要此权限声明。

\n

操作项 如果您使用广告 ID,则当您的应用面向 Android 13 或更高版本时,您必须声明 AD_ID\n权限。不\xe2\x80\x99t\n声明权限的应用程序将获得一串零。注意:今年晚些时候,您\xe2\x80\x99 将能够面向 Android 13。如果您的应用使用已声明广告 ID 权限的 SDK,\n它将通过清单合并获取该权限声明。如果您的应用\xe2\x80\x99 的目标受众\n包括儿童,则不得传输\n儿童或未知年龄用户的 Android 广告 ID (AAID)。

\n
\n

我的应用程序未使用广告 ID。我是否应该AD_ID在清单中声明权限?

\n

java android admob google-advertising-id google-play-console

139
推荐指数
10
解决办法
15万
查看次数

Android studio在真实设备上运行应用程序后会添加不需要的权限

在设备应用程序上运行应用程序后,需要在清单文件中未提及的不需要的位置权限 当我从我的朋友Android工作室运行相同的代码而不是运行正常而没有额外的权限需要.

清单文件

<uses-sdk
    android:minSdkVersion="14"
android:targetSdkVersion="21" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.android.vending.BILLING" />
    <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>

    <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Build.gradle

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 21
        buildToolsVersion "21.1.2"

        defaultConfig {
            applicationId "xxxxxxx"
        }
        dexOptions {

            javaMaxHeapSize "4g"
        }

        packagingOptions {
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/NOTICE'
        }

        lintOptions{
            abortOnError false
        }
    }
    repositories { …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-permissions build.gradle android-gradle-plugin

21
推荐指数
2
解决办法
6317
查看次数