凌晨三点,你刚提交的代码在测试机上突然崩溃,Logcat里全是SecurityException
——这不是个例,而是每个Android开发者都曾经历的“至暗时刻”。作为深耕移动端开发8年的老手,我亲手修复过数百个崩溃问题。今天,我把最常踩的坑、最有效的解法,浓缩成这份实战指南,帮你告别“修Bug到天亮”的循环。
🔥 问题一:权限配置,Android 6.0+的“隐形杀手”
场景:拍照功能在Android 6.0+设备上直接闪退,用户投诉“点不动按钮”。
为什么? 未动态申请CAMERA
权限,系统直接拦截。
高效解法:
// 1. 在AndroidManifest.xml声明权限
<uses-permission android:name="android.permission.CAMERA" />
// 2. 运行时动态申请(关键!)
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{
Manifest.permission.CAMERA}, 1001);
}
💡 避坑提示:Android 6.0+必须动