编程语言
首页 > 编程语言> > Unity打包APK缺少Support-V4 库 java.lang.NoClassDefFoundError: Failed resolution of: Landriod/support/v4/

Unity打包APK缺少Support-V4 库 java.lang.NoClassDefFoundError: Failed resolution of: Landriod/support/v4/

作者:互联网

Unity打包APK缺少Support-V4 库 java.lang.NoClassDefFoundError: Failed resolution of: Landriod/support/v4/content/ContextCompat

问题

这两天第一次接安卓SDK的东西,好不容易打包成aar丢到Plugin/Android里面,结果一到模拟器运行就报java.lang.NoClassDefFoundError: Failed resolution of: Landriod/support/v4/content/ContextCompat。
在这里插入图片描述
这个报错看起来感觉像是没有Support-V4库上的东西,估计SDK那边有用到,但是我打包的时候明明有在gradle中加入implementation ‘com.android.support:support-v4:26.1.0’,打出的包还是会报这个错。初步猜测是在unity打包的时候没有将这个包加入。

解决方式

最后一番折腾,找到官方文档的说明,需要将在plugin/Android中加入对应的gradle文件。这个文件需要从Unity的安装目录中E:\WorkSofe\unity2018\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates\mainTemplate.gradle复制出来
在这里插入图片描述
在这里插入图片描述
丢到plugins/Android文件夹中,这样在unity导出时会先使用这个文件中的配置进行配置。
在这里插入图片描述
然后用AS或其他软件打开这个mainTemplate文件,在里面加入

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:support-v4:26.1.0'	// 加入这句,对应版本换成对应版本号
**DEPS**}

在Unity导出不要选择Internal,要用Gradle导出,需要打成apk就不要勾选Export porject。在这里插入图片描述
这样,打出的Apk包里面就包含了support-v4的依赖了

Gradle打包遇到的其他问题

标签:lang,BuildConfig,java,support,gradle,Failed,Unity,v4,打包
来源: https://blog.csdn.net/weixin_43677968/article/details/106691682