Ошибка выполнения Android с версией выпуска, но не версией отладки

Следующая ошибка возникает при запуске релизной версии моего приложения, но не отладочной версии:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cloud3squared.meteogram/com.cloud3squared.meteogram.Meteogram}: android.content.res.Resources$NotFoundException: String resource ID #0x7f0901e4
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
    at android.app.ActivityThread.access$800(ActivityThread.java:156)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:211)
    at android.app.ActivityThread.main(ActivityThread.java:5389)
    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:1020)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f0901e4
    at android.content.res.Resources.getText(Resources.java:340)
    at android.content.res.Resources.getString(Resources.java:426)
    at android.content.Context.getString(Context.java:377)
    at com.cloud3squared.meteogram.MeteogramWidgetConfigureActivity.a(Unknown Source)
    at com.cloud3squared.meteogram.ak.a(Unknown Source)
    at com.cloud3squared.meteogram.Meteogram.onCreate(Unknown Source)
    at android.app.Activity.performCreate(Activity.java:5990)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)
    ... 10 more

Есть идеи, почему? У меня есть подозрение, что это может быть как-то связано с тем, что я использую значения BuildConfig в своем коде, и есть по крайней мере одно предположение, что такие значения не генерируются в релизной версии, но я попытался изменить BuildConfig.VERSION_NAME в следующем на прямое строковое значение, и все же это сбои.

((TextView) findViewById(R.id.app_version)).setText(BuildConfig.VERSION_NAME);

Я также использую buildConfigField в своем build.gradle:

buildConfigField "String", "APP_TYPE", "\"devfree\""

к которому я обращаюсь повсюду как BuildConfig.APP_TYPE.

Кстати, эта проблема (сбой с выпуском, но с отладочной версией) начала возникать только тогда, когда я обновил все, что мог, в своих build.gradle файлах до последних версий, например.

уровень приложения:

buildToolsVersion "23.0.1"
compileSdkVersion 23
defaultConfig {
    targetSdkVersion 23
}

высший уровень:

dependencies {
    classpath 'com.android.tools.build:gradle:1.3.0'
}

До этого (и если я вернусь к более старым версиям) все было в порядке.

РЕДАКТИРОВАТЬ... чтобы ответить на комментарий ниже, вот мой полный файл build.gradle уровня приложения:

android {
    signingConfigs {
        development {
            keyAlias 'xxx'
            keyPassword 'yyy'
            storeFile file('C:/Users/xxx/yyy.jks')
            storePassword 'zzz'
        }
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId "com.cloud3squared.meteogram"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 144
        versionName "1.7.14"
        signingConfig signingConfigs.development
    }
    productFlavors {
        pro {
            applicationId "com.cloud3squared.meteogram.pro"
            buildConfigField "String", "APP_TYPE", "\"pro\""
        }
        free {
            applicationId "com.cloud3squared.meteogram"
            buildConfigField "String", "APP_TYPE", "\"free\""
        }
        devpro {
            applicationId "com.cloud3squared.meteogram.devpro"
            buildConfigField "String", "APP_TYPE", "\"devpro\""
        }
        devfree {
            applicationId "com.cloud3squared.meteogram.devfree"
            buildConfigField "String", "APP_TYPE", "\"devfree\""
        }
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories { mavenCentral() }

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services-location:8.1.0'
    compile project(':ambilwarna')
    compile 'com.facebook.android:facebook-android-sdk:4.7.0'
    compile project(':devmilColor')
    compile 'com.google.guava:guava:18.0'
}

person drmrbrewer    schedule 14.10.2015    source источник
comment
Вы пробовали очистить и построить? У меня была такая же проблема в прошлом, и чистая сборка помогла мне.   -  person Dilberted    schedule 15.10.2015
comment
Указан ли ваш buildConfigField как в типах сборки отладки, так и в сборке выпуска?   -  person jyanks    schedule 15.10.2015
comment
Re @Dilberted очистить и построить - я попробую. Я предполагаю, что это соответствует тому, что описано здесь: stackoverflow.com/questions/16636848/?   -  person drmrbrewer    schedule 15.10.2015
comment
Re @jyanks - я отредактировал свой вопрос, чтобы дать больше информации о том, что находится в файле build.gradle. Независимо от того, указан ли buildConfigField как для выпуска, так и для разработки, конечно, если это проблема сейчас, она должна была быть проблемой раньше?   -  person drmrbrewer    schedule 15.10.2015
comment
@drmrbrewer, что вы видите в классе BuildConfig? Определены ли в нем ресурсы? Если возможно, вставьте сюда содержимое.   -  person Dilberted    schedule 15.10.2015
comment
@Dilberted: очистить и построить сделал это! Спасибо. И полезно знать о классе BuildConfig... Я даже не знал, что такой класс был сгенерирован... просто царапал поверхность. Класс BuildConfig теперь одинаков для версий для выпуска и разработки. Если вы хотите опубликовать ответ, я отмечу его как правильный. Спасибо еще раз.   -  person drmrbrewer    schedule 15.10.2015
comment
Рад, что это сработало. Просто опубликовал это как ответ. Спасибо   -  person Dilberted    schedule 15.10.2015


Ответы (1)


Попробуйте очистить и собрать проект. Это должно решить проблему

person Dilberted    schedule 15.10.2015