适配Android 12+的Kotlin项目Manifest合并错误求助
解决Manifest合并失败及未注册Main Activity问题
问题根源
- 应用目标SDK为Android 12或更高版本,所有带有intent-filter的Activity必须显式声明
android:exported属性 - 未在Manifest中注册应用的Main Activity,导致Manifest合并流程出错
解决步骤
修改AndroidManifest.xml文件,在<application>标签内添加Main Activity的注册代码,完整代码如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.kotlin_basics"> <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.Kotlin_basics"> <!-- 注册Main Activity --> <activity android:name=".MainActivity" android:exported="true"> <!-- 主入口intent-filter --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
关键说明
android:name=".MainActivity":对应你的Kotlin Activity类(若Activity类名不是MainActivity,替换为实际类名即可)android:exported="true":该Activity带有主入口的intent-filter,必须显式声明此属性,允许系统从外部启动它- 移除了
<application>标签上的android:exported属性,这个属性无需在application级别设置,应在具体组件(Activity、Service等)上单独声明
修改完成后重新构建项目,即可解决Manifest合并失败的问题。
内容的提问来源于stack exchange,提问作者Prajwal U
相关产品推荐
相关产品推荐

