Unity安卓 :launcherWARNING: The option setting ‘android.enableR8=false’

在你的 Unity 安装目录:Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates文件夹下,找到文件 gradleTemplate.properties,将里面的android.enableR8=MINIFY_WITH_R_EIGHT 注释掉(加上#号),变为:#android.enableR8=MINIFY_WITH_R_EIGHT
接下来你会遇到另一个问题:他总是要用 32.0.0 缺乏 dx 的问题困扰你。解决方法:还是刚才那个文件夹,把里面所有的文件都用记事本打开,所有的 BUILDTOOLS 全部换成 30.0.0 或者你的 build-tool 版本。
注:在网上看到说新版 Unity 可以直接往里放 MainActivity.java 和 AndroidManifest.xml ,无需打包成 jar 或 aar,直接放 .java 和 AndroidManifest.xml 就能发布。实验属实,方便很多。但是我目前还没搞明白怎么不闪退,过后更新。(已经知道了,发在下一篇文章)。

转载至:https://www.233tw.com/unity/101635

### Unity生成的AndroidManifest.xml代码解析 #### 1. PrivacyActivity `PrivacyActivity` 是一个自定义的 Activity,通常用于展示隐私政策页面。在引用中提到的配置中,`PrivacyActivity` 被设置为应用程序的主入口点[^2]。它通过 `intent-filter` 中的 `MAIN` 动作和 `LAUNCHER` 类别来指定为应用启动时的第一个 Activity。 以下是关键配置: - **`meta-data`**: - `useLocalHtml`: 表示是否使用本地 HTML 文件来显示隐私政策内容。 - `privacyUrl`: 指定隐私政策的具体 URL 地址。 ```xml <activity android:name="com.unity3d.player.PrivacyActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="useLocalHtml" android:value="true" /> <meta-data android:name="privacyUrl" android:value="你的隐私政策地址" /> </activity> ``` #### 2. UnityPlayerActivity `UnityPlayerActivity` 是 Unity 提供的标准 Activity,用于加载和运行 Unity 游戏或应用的核心逻辑。然而,在引用中提到,直接使用 `UnityPlayerActivity` 可能会导致闪退问题[^1]。因此,推荐使用 `UnityPlayerGameActivity` 作为替代方案。 以下是 `UnityPlayerActivity` 的关键配置: - **`theme`**: 使用 `@style/UnityThemeSelector` 来定义主题样式。 - **`meta-data`**: - `unityplayer.UnityActivity`: 标记该 Activity 是否为 Unity 的主 Activity。 ```xml <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector"> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> </activity> ``` #### 3. 权限配置 权限配置是 Android 应用中非常重要的一部分,用于声明应用需要访问的系统资源。在引用中提到的权限配置如下: - **`INTERNET`**: 允许应用访问互联网资源。这对于 Unity 应用来说是常见的需求,因为许多 Unity 游戏或应用需要从网络加载资源、连接服务器或进行广告展示等操作。 ```xml <uses-permission android:name="android.permission.INTERNET"/> ``` #### 4. 综合作用解析 - **PrivacyActivity** 作为应用的入口点,主要用于展示隐私政策页面。这是为了符合全球范围内的隐私政策合规要求(如 GDPR 或 CCPA)。 - **UnityPlayerActivity** 是 Unity 游戏或应用的核心运行容器。尽管存在闪退问题,但通过使用 `UnityPlayerGameActivity`,可以有效避免这一问题[^1]。 - **权限配置** 确保应用能够正常访问必要的系统资源,例如互联网连接。 ### 示例代码:修改后的 AndroidManifest.xml 以下是一个基于引用内容的完整 `AndroidManifest.xml` 示例: ```xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools"> <application> <!-- PrivacyActivity --> <activity android:name="com.unity3d.player.PrivacyActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="useLocalHtml" android:value="true" /> <meta-data android:name="privacyUrl" android:value="你的隐私政策地址" /> </activity> <!-- UnityPlayerActivity --> <activity android:name="com.unity3d.player.UnityPlayerGameActivity" android:theme="@style/UnityThemeSelector"> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> </activity> </application> <!-- 权限配置 --> <uses-permission android:name="android.permission.INTERNET"/> </manifest> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值