当前位置: 首页 > news >正文

Android 打包适配15 版本(api 35)问题处理

一、场景

Google play 对于上架app的适配sdk 版本要求:

二、问题处理

首先肯定是要将build.gradle中的targetsdk 版本提升上来

compileSdkVersion 35
 defaultConfig {applicationId "xxxx"versionCode 28versionName "2.1.0.0"minSdkVersion 21targetSdkVersion 35

修改完后编译报错:

* What went wrong:
Execution failed for task ':app:processNormalAppDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction
   > Android resource linking failed
     ERROR:AAPT: aapt2 E 08-29 14:39:59 90107 155896441 LoadedArsc.cpp:94] RES_TABLE_TYPE_TYPE entry offsets overlap actual entry data.
     aapt2 E 08-29 14:39:59 90107 155896441 ApkAssets.cpp:149] Failed to load resources table in APK '/Users/xxx/Library/Android/sdk/platforms/android-35/android.jar'.
     error: failed to load include path /Users/xxxx/Library/Android/sdk/platforms/android-35/android.jar.
     

从stackoverflow 找到的原因是google 的bug

https://stackoverflow.com/questions/78678063/android-15-update-compilesdk-android-35-cause-an-error-res-table-type-type-e

gralde版本:distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip

插件版本:

classpath 'com.android.tools.build:gradle:8.3.1'

同步gradle 直接显示:

 What went wrong:
A problem occurred configuring project ':app'.
> Could not create an instance of type com.android.build.api.variant.impl.ApplicationVariantImpl.
   > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.
     
     If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.
 

https://developer.android.com/build/configure-app-module?hl=zh-cn#set-namespace

Android Studio 工具有一个 AGP 助手工具,可以用来帮助升级:

注意要一步步升级到 8.3.1 版本,  最终它会将各个模块里面的Androidmanifest.xml 中的 package 包名去掉,然后再gradle 中添加 namespace 来定义命名空间。

至此,似乎完成了Android 15 版本适配的第一步,编译打包报错问题, 也就是除了升级compile 和 target sdk 版本之外,还需要升级对应的AGP 。 

另外这个问题在刚开始因为切换分支,导致了gradle-wrapper.properties 文件中的 gradle 版本变化,导致的各种编译问题,其实还是因为版本不对应造成的,基本上都需要用Android studio 报错指出来的版本。

另外的另外,这次用上了代理,直接下更新gradle :

http://www.xdnf.cn/news/1386343.html

相关文章:

  • 【观成科技】蔓灵花User下载者加密通信分析
  • 微硕WINSOK高性能NP沟道MOS管WSP4067在Type-C双向快充电源管理系统中的应用
  • 美摄科技受邀参加2025中关村论坛年会,以超高清车载影像技术赋能智慧出行新体验!
  • 4x12G-SDI(四链接12G-SDI)
  • Lambda 表达式在 PyQt/PySide 中的应用
  • 突破传统企业组网瓶颈:某科技公司智能组网服务项目深度解析
  • Docker部署单节点使用KRaft存储数据的Kafka与可视化界面Kafka-Map
  • 解决多种类潮湿敏感元器件的多温度、多时长的排潮烘干
  • 网络编程 04:TCP连接,客户端与服务器的区别,实现 TCP 聊天及文件上传,Tomcat 的简单使用
  • CVPR 强化学习模块深度分析:连多项式不等式+自驾规划
  • 判断语句中std::cin隐式转换为bool--重载operator bool()
  • 外卖大战之后,再看美团的护城河
  • autojs RSA加密(使用public.pem、private.pem)
  • IAR工程如何生成compile_commands.json文件(能生成但是clangd不能生成“.cache文件”)
  • 水质溶解氧检测仪:用于测量水体中溶解氧浓度的专业设备
  • Partner 类开发:会议参与者可视化控件
  • Excel Word Pdf 格式转换
  • 深入解析Qt节点编辑器框架:高级特性与性能优化(四)
  • Kafka 副本同步异常与 ISR 收缩故障排查实录
  • 自动化Reddit 效率已ready
  • Linux(0)|梦开始的地方:xshell下载
  • 表达式语言EL
  • Java全栈工程师的实战面试:从基础到微服务架构
  • More Effective C++ 条款16:牢记80-20准则(Remember the 80-20 Rule)
  • 对于01背包的一些疑问
  • 第十三章项目资源管理--13.8 控制资源
  • 数学七夕花礼(MATLAB版)
  • 嵌入式学习日志————MPU6050简介
  • 【微信小程序】微信小程序基于双token的API请求封装与无感刷新实现方案
  • Unity、Unreal Engine与Godot中纹理元数据管理的比较分析