
android 应用在 android studio 中构建成功且日志显示启动完成,但模拟器或真机上无任何 activity 界面弹出,通常是因为主 activity 未被系统识别为可启动入口——根本原因在于 `androidmanifest.xml` 中缺少 `android:exported="true"` 声明,或运行配置未正确指定启动 activity。
这个问题在 Android 12(API 31)及以上版本中尤为常见。自 Android 12 起,所有包含
✅ 正确修复步骤
1. 在 AndroidManifest.xml 中声明 exported="true"
确保 WelcomePage Activity 的
⚠️ 注意:android:exported="true" 不代表安全风险——只要不暴露敏感功能或接收不受信外部 Intent,对主界面 Activity 是安全且必需的。
2. 配置运行启动项(Run Configuration)
进入 Run → Edit Configurations… → 左侧选择你的 App 配置 → 右侧 Launch Options 区域:
- 将 Launch 下拉菜单从 Default Activity 改为 Specified Activity;
- 在下方输入框填写完整类名:com.example.projectTest.WelcomePage。
✨ 提示:若使用 Default Activity 模式,AS 会自动查找含 MAIN + LAUNCHER intent-filter 的 Activity;但若 manifest 中遗漏 intent-filter 或 exported 属性,此机制将失效,因此显式指定更可靠。
3. 清理并重启(关键!)
执行以下操作以清除可能缓存的错误包信息:
- Build → Clean Project
- Build → Rebuild Project
- File → Invalidate Caches and Restart → Invalidate and Restart
这能解决 Logcat 中出现的 Could not get package user id 和 Could not find apks 等错误——这些日志本质是系统因签名/安装异常无法定位已部署 APK,往往由旧版残留或 manifest 解析失败引发。
? 补充验证建议
- 在终端运行 adb shell pm list packages | grep projectTest,确认包已正确安装;
- 手动触发启动:adb shell am start -n "com.example.projectTest/.WelcomePage",观察是否报错;
- 检查 activity_welcome_page.xml 是否为空布局:当前 XML 中
aintLayout> 内无子视图,会导致界面“白屏”(非黑屏)。建议添加一个测试 TextView 确认渲染:
完成以上三步后重新运行,Pixel 6 API 32 模拟器即可正常显示欢迎页。核心原则是:exported 是 Android 12+ 的强制契约,manifest 与运行配置必须协同一致,且每次修改后务必重建项目。










