Android Studio中应用在真机/虚拟机运行崩溃问题咨询
- Android Studio完全支持同时运行多个应用,不需要删除其他项目,当前问题和是否保留其他项目无关,别浪费时间删项目。
下面是具体排查方向,按顺序来:
优先看崩溃日志
打开Android Studio的Logcat面板,选中对应的设备/模拟器,过滤Error级别日志,找到崩溃的堆栈信息。编译通过不代表运行时没异常——空指针、权限没处理、资源加载失败、SDK兼容问题这些都可能导致崩溃,日志是定位问题的关键。要是日志太杂,直接用自己应用的包名过滤,能快速锁定问题。检查运行时权限
确认AndroidManifest.xml里声明了应用需要的危险权限(比如存储、相机),而且针对Android 6.0及以上版本,代码里做了动态申请和授权判断。权限没授权的话,很多功能会直接崩溃。验证SDK版本兼容
核对build.gradle里的compileSdkVersion、targetSdkVersion和minSdkVersion。要是用了高版本SDK的API但没做兼容处理,在低版本设备上肯定会崩。排查资源文件问题
检查布局文件、图片等资源有没有错误——比如引用了不存在的控件ID、图片资源,或者布局嵌套层级异常,这些问题编译时可能不报错,但运行时会触发资源加载异常。确认依赖无冲突
虽然你已经查过依赖,但可以执行./gradlew app:dependencies命令生成依赖树,看看有没有重复依赖或者版本冲突的情况。比如多个库依赖了不同版本的同一个核心包,很容易导致运行时崩溃。用空项目验证环境
创建一个全新的空Android项目,部署到设备/模拟器上。如果空项目能正常运行,说明你的开发环境和设备没问题,问题出在当前项目本身;如果空项目也崩,再考虑模拟器镜像损坏、设备系统异常这类环境问题。
内容的提问来源于stack exchange,提问作者Arafet

