
android项目能正常编译运行却无ui界面弹出,通常因启动activity未正确配置为可导出(exported=true)或未在运行配置中指定启动入口所致。本文详解如何通过修正manifest声明与运行配置解决此问题。
当Android Studio显示“App launched successfully”但模拟器(如Pixel 6 API 32)上空白无响应时,根本原因往往不是代码逻辑错误,而是系统无法识别并启动您的主Activity。您提供的WelcomePage类结构正确,布局文件也已关联,但缺少两个关键配置环节:
✅ 1. 在 AndroidManifest.xml 中声明 android:exported="true"
自 Android 12(API 31)起,所有包含
请检查 AndroidManifest.xml 中 WelcomePage 的声明,应类似如下(关键:添加 android:exported="true"):
⚠️ 注意:若仅通过 Run Configuration 手动指定启动 Activity(而非依赖 LAUNCHER),exported="true" 仍是必需的——否则系统会因权限限制拒绝启动该组件,导致静默失败(Logcat 中出现 unknown package、Could not find apks 等误导性报错,实为组件不可见所致)。
✅ 2. 在 Run Configuration 中明确指定启动 Activity
Android Studio 默认可能尝试启动 MainActivity 或自动探测入口,若项目中无标准命名或配置缺失,将无法定位正确Activity。
操作路径:
Run → Edit Configurations… → General 标签页 → Launch Options → Launch: 选择 "Specified Activity"
→ 在右侧下拉框中选择 .WelcomePage(或手动输入完整类名 com.example.projectTest.WelcomePage)
✅ 完成后点击 OK,重新运行应用。
? 补充验证建议
- 清理并重建项目:Build → Clean Project,再 Build → Rebuild Project
- 卸载旧APK:在模拟器中长按应用图标 → 卸载;或执行 adb uninstall com.example.projectTest
- 检查 Logcat 过滤:选择 app: com.example.projectTest,观察是否出现 Displayed com.example.projectTest/.WelcomePage 日志,这是Activity成功渲染的关键标志
? 总结:Android 12+ 强制要求显式导出显式启动的Activity,而IDE运行配置需与Manifest声明严格一致。二者缺一不可——仅改代码不改配置,或仅配Manifest不设启动项,均会导致“启动成功但黑屏/无响应”的典型现象。










