Unity项目如何加入AndroidX依赖,解决APK运行闪退问题?

news/2024/5/20 5:02:08 标签: unity, android, android studio, gradle

Unity项目如何加入AndroidX依赖?

  • 环境:Unity2020.3.0 / Android3.4.1
  • 问题:安卓supportV4升级成AndroidX,打出的APK运行闪退。
  • 解决方法步骤:
    • 1、在AS的build.gradle文件中添加AndroidX依赖
    • 2、修改gradleTemplate.properties文件, 允许Unity引擎打包时添加AndroidX依赖。
    • 2、在Unity项目的mainTemplate.gradle配置文件中添加AndroidX依赖

环境:Unity2020.3.0 / Android3.4.1

Gradle 5.6.4 (Unity端)
Gradle 5.1.1 (安卓端)

问题:安卓supportV4升级成AndroidX,打出的APK运行闪退。

安卓supportV4升级成AndroidX,导出aar给Unity,Unity打包出APK,APK运行闪退。报错如下:
在这里插入图片描述
在这里插入图片描述

解决方法步骤:

unity的.gradle文件 和 android 的.gradle 都要添加远程依赖,同时修改gradleTemplate.properties文件, 允许Unity引擎打包时添加AndroidX依赖。

具体步骤:

gradleAndroidX_16">1、在AS的build.gradle文件中添加AndroidX依赖

	api 'androidx.multidex:multidex:2.0.1'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    implementation 'javax.annotation:javax.annotation-api:1.2'
    implementation 'io.grpc:grpc-okhttp:1.14.0'
    implementation 'io.grpc:grpc-protobuf-lite:1.14.0'
    implementation 'io.grpc:grpc-stub:1.14.0'
    implementation 'com.google.protobuf:protobuf-lite:3.0.1'

gradleTemplateproperties_UnityAndroidX_31">2、修改gradleTemplate.properties文件, 允许Unity引擎打包时添加AndroidX依赖。

文件地址:unity安装路径下2020.3.0f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates\gradleTemplate.properties
在这里插入图片描述

修改内容:添加如下两行:

android.useAndroidX=true
android.enableJetifier=true

在这里插入图片描述

gradleAndroidX_44">2、在Unity项目的mainTemplate.gradle配置文件中添加AndroidX依赖

mainTemplate.gradle模板获取方法:在ProjectSetting\Player\PublishingSetting中勾选CustomMainGradleTemplate,生成.gradle文件模板,然后在Assets\Plugins\Android路径下打开此配置文件,在如下位置添加如下代码
在这里插入图片描述

	api 'androidx.multidex:multidex:2.0.1'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    implementation 'javax.annotation:javax.annotation-api:1.2'
    implementation 'io.grpc:grpc-okhttp:1.14.0'
    implementation 'io.grpc:grpc-protobuf-lite:1.14.0'
    implementation 'io.grpc:grpc-stub:1.14.0'
    implementation 'com.google.protobuf:protobuf-lite:3.0.1'

http://www.niftyadmin.cn/n/1709494.html

相关文章

Unity反导打包详细步骤

导出资源包以后,打开AndroidStudio。 File->Import Project 打开导出的资源路径,可以看到此资源文件夹图标变成了安卓标志,表示此项目可以导入到AndroidStudio。等待右下角资源加载完毕。 下面开始打包APK,Build->Generat…

Unity 直指灵魂的代码详解——委托、事件与Observer设计模式

委托、事件与Observer设计模式一、委托 delegate 的用法1、将方法作为另一个方法的参数2、将方法绑定到委托二、事件 Event三、Observer观察者模式一、委托 delegate 的用法 1、将方法作为另一个方法的参数 委托是一个类,它定义了方法的类型,使得可以将…

Unity 编辑器开发——批量打包工具开发分享

研发了两年多的项目开始推广了,为了应对多平台、多渠道需要打包巨多的应用程序,写了个一键打包工具,下面是源码及讲解。 这个打包工具包含的功能有一下几点: 自动配置ProjectSetting自动配置KeyStore自动打包场景自动配置项目某个…

string去除指定字符串_Python新手上车4:字符串的定义和操作

字符串的表示字符串实际就是就是一串字符,在python中用引号括起的都是字符串,来看看以下三种情况:string_double"This is python."string_singleThis is python.string_mix"This is python."print(string_double,string_…

Unity 清理注册表和临时文件

unity的版本是不支持热更新的,安装新版本需要重新下载。正常卸载老版本的话,在安装新版本的unity时,会有一些小问题,所以建议清理一下之前的注册表和临时文件。 清除unity的注册表 首先在 在运行中输入“regedit”打开注册表界面。…

扒视频/音效素材的方法

目录一、扒视频二、扒音效一、扒视频 先打开视屏下载软件,如迅雷; 右击视频开关键,选择 检查; 找到 video,双击链接,右击复制; 打开迅雷,下载 二、扒音效 淘声网 https://www.t…

返回值由hresult变为void型_Java系列之泛型

自从 JDK 1.5 提供了泛型概念,泛型使得开发者可以定义较为安全的类型,不至于强制类型转化时出现类型转化异常,在没有反省之前,可以通过 Object 来完成不同类型数据之间的操作,但是强制类型转换(向下转型)在不确定具体类…

番外12:获取晶体管漏极电流源平面的仿真波形

番外12:获取晶体管漏极电流源平面的仿真波形 老是有同学反应,仿真中无法获取漏极电流源平面的仿真波形,在此给出解释与解决办法。 1、ADS能够访问到部分器件的电流源平面波形 对于某些器件,比如说CGH40010F,可以在仿…