uniapp 如何设置android:exported="false"
在uniapp开发中,如何设置AndroidManifest.xml中的android:exported属性为false?我在manifest.json里配置了相关参数,但打包后生成的AndroidManifest.xml中该属性仍然为true。请问正确的配置方式是什么?需要修改哪些文件才能生效?
2 回复
在 manifest.json 中的 app-plus → distribute → android 下添加:
"xmls": [
{
"name": "AndroidManifest.xml",
"parent": "/manifest/application",
"nodes": [
{
"name": "activity",
"attrs": {
"android:exported": "false"
}
}
]
}
]
在 UniApp 中设置 android:exported="false" 需要在原生配置文件中修改,具体步骤如下:
-
找到并编辑
AndroidManifest.xml文件:- 路径:
项目根目录/nativeplugins/插件名/android/AndroidManifest.xml(如果使用原生插件)或自定义模块配置。
- 路径:
-
修改目标 Activity 或 Service 的配置: 在对应组件标签内添加
android:exported="false"属性。例如:<activity android:name=".YourActivity" android:exported="false"> </activity> -
重新打包生成 APK: 通过 HBuilderX 重新编译或使用自定义基座调试。
注意事项:
- 此操作需熟悉原生 Android 开发,确保修改的组件无需被外部应用调用。
- 如果使用云打包,需通过 manifest.json 的 “App模块配置” 添加原生配置。
- 错误设置可能导致功能异常(如无法接收特定广播或服务调用)。
建议先备份文件,并在真机测试确认功能正常。

