当前位置: 首页 > 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.dtcms.com/a/357486.html

相关文章:

  • 数字人 + 矩阵聚合系统源码搭建与定制化开发
  • 内网部署数据本地化,不限时的视频会议软件-BeeWorks Meet
  • 数据结构:归并排序 (Iterative Merge Sort)
  • JavaScript 基础核心知识点总结:从使用方式到核心语法
  • 不止于价格,DigitalOcean、AWS和Linode该选谁?
  • 蘑兔音乐:音乐创作板块的槿汐姑姑
  • 抗干扰、高冗余、快部署:KAXA工业无线方案赋能注塑车间稳定联网
  • OpenCV的轮廓检测
  • 手写MyBatis第41弹:MyBatis动态代理黑魔法:MapperProxy如何智能处理增删改的返回值?
  • 【完整源码+数据集+部署教程】胚胎发育阶段检测系统源码和数据集:改进yolo11-SCConv
  • 如何从 iCloud 存储中删除消息的 4 种方法
  • ubuntu24.04 QT中配置opencv4.12
  • 引力场能量为负,物质能量为正,这是在存在物质的空间中说的,如果是空无一物的空间呢,引力场能量还是负吗(或者说引力场还存在吗)
  • 2025年09月计算机二级Java选择题每日一练——第十一期
  • Vue3 kkfileview 的使用
  • Hal aidl 模板
  • Django开发规范:构建可维护的AWS资源管理应用
  • 第八章 惊喜01 测试筹备会
  • 【Flask】测试平台开发,产品管理实现编辑功能-第六篇
  • 对接连连支付(七)-- 退款查询
  • CSS设置滚动条显示时机及样式
  • R 语言 + 卒中 Meta 分析(续):机器学习 Meta 与结构方程 Meta 完整实现
  • STM32之IIC详解
  • GY-BMP280压强传感器完整工程stm32控制
  • 嵌入式滤波算法模块
  • 换公司如何快速切入软件项目工程
  • vant Overlay 遮罩层内元素无法滚动解决方案
  • 命令扩展与重定向
  • 【完整源码+数据集+部署教程】硬币分类与识别系统源码和数据集:改进yolo11-SWC
  • 【序列晋升】20 Spring Cloud Function 函数即服务(FaaS)