You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android App仅在LG G4(Android 6.0)点击菜单时崩溃求助

问题分析与解决方案

首先看崩溃日志的核心错误:android.content.res.Resources$NotFoundException: Resource ID #0x7f07013a,这个错误发生在加载菜单图标的时候(日志里的MenuItemImpl.getIcon步骤),说明你的LG G4设备找不到这个资源ID对应的图标文件,而三星S8(Android8.0)能正常加载,大概率是矢量图兼容配置缺失或者资源引用/存在性问题。

排查思路

  • 定位缺失资源:打开Android Studio,用Find in Path搜索0x7f07013a,或者在自动生成的R.java文件里查找这个ID对应的资源名称(比如R.drawable.ic_menu_xxx),确认是菜单里哪个选项的图标。
  • 检查矢量图兼容配置:你的项目使用了AppCompat支持库,但没有开启矢量图兼容开关——Android 6.0(API23)虽然原生支持矢量图,但通过AppCompat框架加载时,需要额外配置才能确保在部分老设备(比如LG G4这类定制ROM设备)上正常工作。
  • 验证资源完整性:检查对应资源文件是否存在于res/drawable或对应密度文件夹中,有没有误删、重命名或者资源ID冲突的情况。
  • 清理项目缓存:Android Studio的缓存偶尔会导致资源ID不匹配,尝试Build > Clean Project,再Build > Rebuild Project,或者File > Invalidate Caches... > Invalidate and Restart。

解决方案

1. 添加矢量图兼容配置(优先处理)

在你的build.gradle(Module级别)的defaultConfig块中添加vectorDrawables.useSupportLibrary = true,修改后如下:

defaultConfig {
    applicationId "<com.android.application>"
    minSdkVersion 21
    targetSdkVersion 27
    versionCode 25
    versionName "0.8"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    // 添加这一行
    vectorDrawables.useSupportLibrary = true
}

这个配置会让AppCompat框架正确处理矢量图资源,避免在老设备上出现资源找不到的问题。

2. 检查菜单图标引用

打开res/menu/main_menu.xml,确认菜单item的图标引用:

  • 如果使用的是矢量图,确保引用的是存在的资源文件,比如:
<item
    android:id="@+id/menu_item_xxx"
    android:icon="@drawable/ic_your_vector_icon"
    android:title="@string/menu_title"/>
  • 避免使用仅存在于高版本SDK中的系统图标,尽量使用自己项目内的资源。

3. 验证资源存在性

确认你定位到的缺失资源(比如ic_your_vector_icon)确实存在于res/drawable文件夹下,没有被误删,也没有在不同密度文件夹(如drawable-xxhdpi)中缺失导致设备 fallback 失败。

完成以上步骤后,重新部署到LG G4测试,应该能解决菜单点击崩溃的问题。

内容的提问来源于stack exchange,提问作者rogue5_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:27:33