Android模拟器正常但真机崩溃求助(API21/Android5.1)
解决Android 5.1真机启动崩溃的InflateException问题
嘿,看了你提供的Logcat,问题根源其实很明确——你的应用找不到drawable/black这个资源,或者这个资源的类型不对,导致WelcomeScreen的布局膨胀失败,直接崩了。具体看最底层的报错:
Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.user.offlinemobilefinder:drawable/black" (7f060055) is not a Drawable (color or path)
给你几个针对性的解决方案,按顺序试:
1. 修正资源引用的类型
先打开WelcomeScreen对应的布局文件,找到第9行(报错里标注的Binary XML file line #9)的控件,查看它引用@drawable/black的属性(大概率是背景或图片源):
- 如果你想用的是黑色:把资源定义在
res/values/colors.xml里,比如:
然后布局里把引用改成<color name="black">#000000</color>@color/black,而非@drawable/black; - 如果确实是要用Drawable资源(比如黑色图片或shape图形):检查
res/drawable文件夹下是否存在black.png或black.xml,还要注意文件名大小写——Android 5.x对文件名大小写很敏感,别写成Black.png这种错误格式。
2. 处理Vector Drawable兼容性(如果用了矢量图)
要是black是Vector Drawable,Android 5.1本身对矢量图支持有限,得做兼容配置:
- 在Module级的
build.gradle里添加:android { defaultConfig { vectorDrawables.useSupportLibrary = true } } - 布局里用
app:srcCompat替代android:src来引用矢量图,或者换成AppCompatImageView控件。
3. 清理缓存重建项目
有时候Android Studio的缓存会导致资源引用混乱,试试:
- 点击顶部菜单栏的
Build > Clean Project; - 接着执行
Build > Rebuild Project; - 顺便把平板上的旧应用卸载干净,再重新安装。
4. 检查资源目录是否正确
确保资源放在对应目录:
- 颜色资源必须在
res/values目录下的colors.xml; - 图片Drawable放在
res/drawable或对应密度的子目录(比如drawable-mdpi),别放错目录导致系统无法识别。
按这些步骤排查,应该能解决这个崩溃问题。
内容的提问来源于stack exchange,提问作者Azmat Inayat
相关产品推荐
相关产品推荐

