Firebase崩溃报告捕获的异常:
异常java.lang.RuntimeException:无法启动活动 ComponentInfo {com.talmir.mickinet / com.talmir.mickinet.activities.HomeActivity}: android.content.res.Resources $ NotFoundException:资源ID 0x7f080058 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2249) android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2299)android.app.ActivityThread.access $ 700 (ActivityThread.java:154)android.app.ActivityThread $ H.handleMessage ...
由android.content.res.Resources $ NotFoundException引起:资源ID 0x7f080058 android.content.res.Resources.getValue(Resources.java:1883) android.support.v7.widget.AppCompatDrawableManager.c(SourceFile:332) android.support.v7.widget.AppCompatDrawableManager.a(SourceFile:197) android.support.v7.widget.AppCompatDrawableManager.getDrawable ...
HomeActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home); // line 238
FirebaseCrash.log("HomeActivity");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
if (!canAccessCamera() || !canAccessExternalStorage() || !canAccessContacts())
requestPermissions(INITIAL_PERMISSIONS, INITIAL_REQUEST);
copyRawFile(R.raw.file_receive);
// other codes...
activity_home.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.talmir.mickinet.activities.HomeActivity"
android:background="@color/snow">
<fragment
android:id="@+id/frag_list"
class="com.talmir.mickinet.fragments.DeviceListFragment"
android:layout_width="match_parent"
android:layout_height="@dimen/phone_list_height">
</fragment>
<fragment
android:id="@+id/frag_detail"
class="com.talmir.mickinet.fragments.DeviceDetailFragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
</fragment>
</RelativeLayout>
的AndroidManifest.xml
<activity
android:name=".activities.HomeActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
的build.gradle
apply plugin: 'com.android.application'
android {
signingConfigs {
config {
// my config
}
}
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.talmir.mickinet"
minSdkVersion 17
targetSdkVersion 25
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
signingConfig signingConfigs.config
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable false
jniDebuggable false
signingConfig signingConfigs.config
renderscriptDebuggable false
zipAlignEnabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.github.paolorotolo:appintro:4.1.0'
compile 'com.android.support:support-vector-drawable:25.3.1'
implementation 'com.google.firebase:firebase-crash:11.0.2'
}
apply plugin: 'com.google.gms.google-services'
我测试了什么: this,this,this,this一个。 this link中的问题看起来比我的问题更接近我的问题。
此外,API 23和API 17中安装的应用程序相同(均为物理设备),但仅在API 17(启动时)中发生错误。
为什么会发生此异常,我该如何解决?
答案 0 :(得分:2)
当我将Android Studio从Canary 5更新为canary 6
时,会发生此异常我返回Android Studio 2.3.2并将类路径更改回Gradle 2.3.2并解决了问题。
更新:我尝试了3个应用程序,但我得到了同样的错误,但解决了它就像描述的那样。
答案 1 :(得分:1)
我今天也遇到了同样的问题。经过一番研究,我发现了这个:
android.enableAapt2=false
将此行添加到“gradle.properties”文件中。
参考是here。
我认为这是由Android Studio的最新版本(3.0 Canary 6)中的错误造成的。
使用AAPT2改进了增量资源处理。要启用AAPT2,请将以下内容添加到gradle.properties文件中:android.enableAapt2 = true
上面的文字来自android studio preview链接。