Android Studio生成大写包名APK报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
解决Android Studio生成含大写包名APK的问题
我太懂你这种尴尬了——之前用Xamarin.Android的时候大写包名跑的好好的,结果迁到Android Studio就直接报错卡壳,毕竟Android Studio对包名的规范校验比Xamarin严格不少。别慌,咱们一步步来搞定这个问题:
禁用Lint的包名校验
Android Studio默认的Lint规则会强制包名使用小写,这是你报错的核心原因之一。打开模块级别的build.gradle文件,在android节点下添加Lint配置,禁用这个校验规则:android { // 保留你原有的其他配置(compileSdk、defaultConfig等) lintOptions { disable 'PackageName' } }统一配置大写包名
确保AndroidManifest.xml和build.gradle里的包名完全一致且为大写:- 在
AndroidManifest.xml里确认根节点的package属性:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="COM.YOURCOMPANY.YOURAPP"> - 在
build.gradle的defaultConfig里同步applicationId:defaultConfig { applicationId "COM.YOURCOMPANY.YOURAPP" // 其他配置(minSdkVersion、targetSdkVersion等) }
- 在
调整源码目录与包声明
Android Studio默认期望源码目录是小写的包名结构,但咱们要适配大写包名:- 把你的Java/Kotlin源码目录调整为对应大写的层级,比如
src/main/java/COM/YOURCOMPANY/YOURAPP - 确保所有源码文件顶部的
package声明是大写的,比如:package COM.YOURCOMPANY.YOURAPP;
如果不想改目录结构,也可以在
build.gradle的sourceSets里手动指定源码路径映射,但调整目录结构更直观不易出错。- 把你的Java/Kotlin源码目录调整为对应大写的层级,比如
清理缓存并重建项目
Android Studio的缓存经常会搞事情,执行以下操作彻底清理后再构建:- 点击顶部菜单栏的
Build->Clean Project - 接着点击
Build->Rebuild Project - 最后尝试生成APK(
Build->Generate Signed Bundle/APK)
- 点击顶部菜单栏的
如果做完这些还是有问题,可以试试删除项目根目录下的.gradle、.idea文件夹以及模块的build目录,然后重新导入项目——这招通常能解决大部分缓存导致的诡异问题。
内容的提问来源于stack exchange,提问作者Tomasz Kamiński
相关产品推荐
相关产品推荐

