java - Android 资源无法找到资源 ID #0x7f070024

标签 java android android-resources

这是我第一次遇到这样的问题,我对此感到有点困惑。我的问题是,每当我调试我的应用程序时,一切都很好,但是一旦我生成一个 apk 并通过 crashlytics 将其分发给我的 beta 测试人员,所有的一切都会失败,我会抛出这个 Resources$NotFoundExeption .

我检查了 R.java 文件中的资源 0x7f070024 并发现它显示了以下内容:

public static final int common_google_play_services_unknown_issue=0x7f070024;

这对我来说意义不大。然后,我继续处理另一个字符串资源错误,该错误指向资源 id 0x7f070036,它向我显示:

public static final int app_name=0x7f070036;

我检查了此变量的用法,我使用此字符串资源的唯一位置是在 AndroidManifest.xml 内:

 <application
    android:name=".MyApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"      //**HERE**
    android:theme="@style/AppTheme">
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>
    <meta-data
        android:name="io.fabric.ApiKey"
        android:value="blablablah"/>

    <activity
        android:name=".views.activities.LoginActivity"
        android:configChanges="keyboard|keyboardHidden"
        android:screenOrientation="portrait">
        <intent-filter android:label="@string/app_name"> //**HERE**
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

为了完成这个问题,让我添加我的 gradle 文件,因为它们对于解决这个问题可能很重要:

compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "helpme.jesus"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'
    compile 'com.android.support:support-v4:21.0.+'
    compile 'com.android.support:design:23.1.0'
    compile 'de.greenrobot:greendao:2.0.0'
    compile 'com.squareup:otto:1.3.8'
    compile 'com.squareup.dagger:dagger:1.2.2'
    compile 'com.birbit:android-priority-jobqueue:1.3.5'
    compile 'com.android.support:cardview-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'
    compile 'com.google.zxing:core:3.2.1'
    compile('com.crashlytics.sdk.android:crashlytics:2.5.7@aar') {
        transitive = true;
    }
    compile('com.mapbox.mapboxsdk:mapbox-android-sdk:4.1.0-beta.2@aar') {
        transitive = true
    }
    apt 'com.squareup.dagger:dagger-compiler:1.2.2'

}

apply plugin: 'com.google.gms.google-services'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
        classpath 'com.google.gms:google-services:2.0.0-alpha5'
    }
}

我错过了什么?我做错了什么?

Logcat 文件将添加到此处以防万一:

06-21 18:28:37.171 25824-25824/? E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: dev.helpme.jesus, PID: 25824
                                               java.lang.RuntimeException: Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f070024
                                                   at android.app.ActivityThread.installProvider(ActivityThread.java:5092)
                                                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:4669)
                                                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4609)
                                                   at android.app.ActivityThread.access$1500(ActivityThread.java:151)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:135)
                                                   at android.app.ActivityThread.main(ActivityThread.java:5345)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
                                                Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f070024
                                                   at android.content.res.Resources.getResourcePackageName(Resources.java:2089)
                                                   at com.google.android.gms.measurement.zza.<init>(Unknown Source)
                                                   at com.google.android.gms.measurement.zza.zzaR(Unknown Source)
                                                   at com.google.android.gms.measurement.internal.zzn.zziJ(Unknown Source)
                                                   at com.google.android.gms.measurement.internal.zzz.zza(Unknown Source)
                                                   at com.google.android.gms.measurement.internal.zzw.<init>(Unknown Source)
                                                   at com.google.android.gms.measurement.internal.zzaa.zzDj(Unknown Source)
                                                   at com.google.android.gms.measurement.internal.zzw.zzaT(Unknown Source)
                                                   at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)
                                                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1696)
                                                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1671)
                                                   at android.app.ActivityThread.installProvider(ActivityThread.java:5089)
                                                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:4669) 
                                                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4609) 
                                                   at android.app.ActivityThread.access$1500(ActivityThread.java:151) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                   at android.os.Looper.loop(Looper.java:135) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:5345) 
                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742) 



06-21 18:28:37.231 533-556/? W/PackageManager: Failure retrieving text 0x7f070036 in package dev.helpme.jesus
                                           android.content.res.Resources$NotFoundException: String resource ID #0x7f070036
                                               at android.content.res.Resources.getText(Resources.java:299)
                                               at android.app.ApplicationPackageManager.getText(ApplicationPackageManager.java:1155)
                                               at android.content.pm.PackageItemInfo.loadLabel(PackageItemInfo.java:131)
                                               at android.app.ApplicationPackageManager.getApplicationLabel(ApplicationPackageManager.java:1199)
                                               at com.android.server.am.AppErrorDialog.<init>(AppErrorDialog.java:48)
                                               at com.android.server.am.ActivityManagerService$MainHandler.handleMessage(ActivityManagerService.java:1364)
                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                               at android.os.Looper.loop(Looper.java:135)
                                               at android.os.HandlerThread.run(HandlerThread.java:61)
                                               at com.android.server.ServiceThread.run(ServiceThread.java:46)

最佳答案

我也遇到了类似的问题

classpath 'com.android.tools.build:gradle:2.2.0-alpha3'

我尝试清理项目、重建项目、使 Android Studio 缓存无效。还是没有运气/_\

但是当我更改为

classpath 'com.android.tools.build:gradle:2.1.2'

问题消失了。相同的代码!所有其他设置相同!

我认为这是 gradle build 2.2.0-alpha3 中的一个错误

gradle alpha 总是出现问题...

关于java - Android 资源无法找到资源 ID #0x7f070024,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37942324/

相关文章:

android - 如何检测用户在我的 Activity 中按下 HOME 键?

java - 如何从静态上下文中获取资源内容?

Android XXHDPI 资源

Android 在 styles.xml 中为 TextView 设置背景色

java - 如何解决 Android 中已弃用的 View 方法?

java - MDC没有从Hystrix线程传输到tomcat线程

Android:知道以编程方式创建的按钮按下了哪个按钮

java - 如何将 JSON 数组添加到 Google App 数据存储中

java - SonarQube - 奇怪的 OutOfMemoryError : PermGen space

android - 全局覆盖默认系统音量按钮功能