Android Studio 3.0 : canary 6 : android.content.res.Resources$NotFoundException inside Launching activity

早过忘川 提交于 2019-11-30 12:30:18

问题


I update android-studio 3.0 from canary 5 to canary 6 and suddenly My app gives crash on KitKat(API 19) with below stacktrace.

The Main2Activity.java:10 line is the first line in my activity onCreate() method.

07-11 13:00:39.523 8913-8913/dcpl.com.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
  Process: dcpl.com.myapplication, PID: 8913
  java.lang.RuntimeException: Unable to start activity ComponentInfo{dcpl.com.myapplication/dcpl.com.myapplication.Main2Activity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f070058
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
      at android.app.ActivityThread.access$800(ActivityThread.java:139)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:149)
      at android.app.ActivityThread.main(ActivityThread.java:5257)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:515)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
      at dalvik.system.NativeStart.main(Native Method)
   Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070058
      at android.content.res.Resources.getValue(Resources.java:1173)
      at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:332)
      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
      at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:711)
      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
      at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81)
      at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:131)
      at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:155)
      at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:31)
      at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:55)
      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205)
      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185)
      at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
      at dcpl.com.myapplication.Main2Activity.onCreate(Main2Activity.java:10)
      at android.app.Activity.performCreate(Activity.java:5411)
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
      at android.app.ActivityThread.access$800(ActivityThread.java:139) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:149) 
      at android.app.ActivityThread.main(ActivityThread.java:5257) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633) 
      at dalvik.system.NativeStart.main(Native Method) 

How can I solve it?


回答1:


Seems like the issue is related to Aapt 2.

Put

android.enableAapt2=false

In your gradle.properties file and it fixes the issue for me.




回答2:


I have the same issue.

put

android.enableAapt2=false

AAPT2. We are continuing to stabilize AAPT2 which enables incremental resource processing. If your build fails due to resource processing issue, please send us a bug report. To temporarily disable AAPT, set android.enableAapt2=false in your gradle.properties file. Roboelectric is currently not compatible with AAPT2

follow the below link

https://androidstudio.googleblog.com/2017/06/android-studio-30-canary-5-is-now.html




回答3:


I had the same problem. To solve it, just update to Android Studio 3.0 Canary 7.

Fixes:
63623801 ResourceNotFoundException running Kotlin project on API 16 AVD after upgrading to Canary 6

Release notes




回答4:


add this code in my project

android.enableAapt2=false

solved one of my issues: with Android Studio 3.0 : canary 6, Gen a signed APK by default which can't parsered by "AXmlResourceParser.java"(axmlprinter2-2.0.jar)



来源:https://stackoverflow.com/questions/45028246/android-studio-3-0-canary-6-android-content-res-resourcesnotfoundexception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!