Android13 Studio新建的代码编译报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED解决
文章目录
- Android13 Studio新建的代码编译报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED解决
- 一、前言
- 二、分析解决
- 三、其他
- 1、Android Studio 新建的Android13 编译报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 总结
- 2、如果新建的Android13 项目无法编译的Build Tools revision XX is corrupted问题
一、前言
Android Studio 新建的Android13 项目代码,编译报错:
04/20 19:56:48: Launching 'app' on device.Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
List of apks:
[0] 'E:\Studio\project\test\MyApplication\app\build\outputs\apk\debug\app-debug.apk'
Installation failed due to: 'null'
这个错误信息表明安装失败,原因是Android应用的Manifest文件存在格式错误。
Manifest文件是每个Android应用必不可少的一部分,它包含了应用的名称、版本、权限等重要信息。
如果Manifest文件中的某些信息不符合规定或者有语法错误,系统将无法解析这个文件,导致应用无法安装。
新建的项目为啥会报错呢?其实是Android13开始,四大组件都是要设置 exported 属性,否则会报错。其实就是缺少了必要的信息。
二、分析解决
在 activity 组件加上 exported 属性即可,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication">
<activity android:name=".MainActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
三、其他
1、Android Studio 新建的Android13 编译报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 总结
给组件添加 android:exported 属性即可。
其实把编译版本调低,低于Android11也是可以解决这个问题。
2、如果新建的Android13 项目无法编译的Build Tools revision XX is corrupted问题
其实是编译环境问题,把低版本SDK的 build-tools目录中的 dx.bat和build-tools目录中的lib文件夹里面的dx.jar复制到高版本就行。
分析解决过程:
https://blog.csdn.net/wenzhi20102321/article/details/138010007