Unity 安卓打包控制台打印manifest targetSdkVersion=24 but library uses target 26踩坑点
最近用unity5.6.5f打包安卓APK,没想到遇到了扎心事
Warning: [Temp\StagingArea\AndroidManifest-main.xml:14, C:\Users\Administrator\Desktop\FishingRaft-Client2\Temp\StagingArea\android-libraries\unity-android-resources\AndroidManifest.xml:1] Main manifest has <uses-sdk android:targetSdkVersion='24'> but library uses targetSdkVersion='26'
研究了一下,原理其实是对targetSdkVersion和compileSdkVersion理解有误。unity 的设置里默认targetSdkVersion = compileSdkVersion。当他俩不等的时候,这问题就出现了,可是往往我们的要求确实是不等。我项目里配置的targetSdkVersion不能超过24。这就是原因。
解决方案: 根据unity 官网的说法自行找到配置文件
1、适用于 Android 的 Gradle 这个是5.6版本可自行切换。
里面有这句话:
提供自定义 build.gradle 模板 要在从 Unity 构建 APK 时使用您自己的build.gradle文件,请将您的build.gradle文件导入Assets/Plugins/Android/mainTemplate.gradle。请注意,该文件可能会使用一些模板变量,例如TARGETSDKVERSION. 有关示例文件,请参阅Unity 安装中的默认mainTemplate.gradle文件。
于是找到自己项目下打包的配置文件(.xml)路径: 用编辑器打开: 将配置文件android: targetSdkVersion修改为26:
问题解决再次打包成功:
1、增加安卓签名: 2、Packaged successfully
每日一语:每天进步一点点,走得慢没关系,只要在前进,一切都会好起来,加油!
|