相关疑难解决方法(0)

请求的操作:声明您的广告 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清单中替换不替换

我正在使用具有许多不同库依赖项的gradle项目并使用新的清单合并.在我的<application />标签中,我将其设置为:

<application tools:replace="android:icon, android:label, android:theme, android:name"
    android:name="com.example.myapp.MyApplcation"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/application_name"
    android:logo="@drawable/logo_ab"
    android:theme="@style/AppTheme"
    >
....
</application>
Run Code Online (Sandbox Code Playgroud)

然而,我收到错误:

/android/MyApp/app/src/main/AndroidManifest.xml:29:9        Error:
Attribute application@icon value=(@drawable/ic_launcher) from AndroidManifest.xml:29:9
is also present at {Library Name} value=(@drawable/app_icon)
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:26:5 to override

/android/MyApp/app/src/main/AndroidManifest.xml:30:9 Error:
Attribute application@label value=(@string/application_name) from AndroidManifest.xml:30:9
is also present at {Library Name} value=(@string/app_name)
Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:26:5 to override

/android/MyApp/app/src/main/AndroidManifest.xml:27:9 Error:
Attribute application@name value=(com.example.myapp.MyApplication) from AndroidManifest.xml:27:9
is also present at {Another Library} …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

135
推荐指数
9
解决办法
16万
查看次数

您的清单文件不包含 com.google.android.gms.permission.AD_ID 权限

当我尝试将我的应用程序提交到 Play 商店时,出现以下错误:

您在 Play 管理中心上的声明表明您的应用使用广告 ID。您的清单文件不包含 com.google.android.gms.permission.AD_ID 权限。

我已经AD_ID在我的AndroidManifest.xml文件中声明了权限,如下所示:

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

我的应用程序targetSdk版本是33,我包含的 AdMob 广告库版本是21.3.0,如下:

  implementation 'com.google.android.gms:play-services-ads:21.3.0'
Run Code Online (Sandbox Code Playgroud)

我已按照AdMob 入门指南中的每一步操作,但不起作用。

android-manifest android-permissions google-play-services

21
推荐指数
3
解决办法
1万
查看次数

android:exported 需要为 &lt;activity&gt; 明确指定。针对 Android 12 及更高版本的应用需要指定

升级到 android 12 后,应用程序未编译。表明

“清单合并因多个错误而失败,请参阅日志”

合并清单中显示的错误:

合并错误:错误:android:exported 需要为 明确指定。面向 Android 12 及更高版本的应用需要为android:exported相应组件定义了意图过滤器时指定显式值。有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported。主清单(此文件)

我已将所有活动设置为android:exported="false". 但它仍然显示这个问题。

我的清单文件:

<?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="eu.siacs.conversations">

    <uses-sdk tools:overrideLibrary="net.ypresto.androidtranscoder" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PROFILE" />
    <uses-permission
        android:name="android.permission.READ_PHONE_STATE"
        android:maxSdkVersion="22" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    <uses-feature …
Run Code Online (Sandbox Code Playgroud)

java android android-manifest kotlin android-12

14
推荐指数
15
解决办法
2442
查看次数

必须删除 QUERY_ALL_PACKAGES 权限但找不到它

Google Play Console(应用程序内容部分)声明我发布的应用程序使用

android.permission.QUERY_ALL_PACKAGES
Run Code Online (Sandbox Code Playgroud)

我想删除这个权限。

我检查了AndroidManifest.xml合并清单,但找不到它。

我应该在哪里查找依赖项、库、ecc 包含的所有权限?谢谢。

permissions android manifest

12
推荐指数
2
解决办法
1万
查看次数