29

我将 android-studio 3.0 从 canary 5 更新到 canary 6,突然我的应用程序在 KitKat(API 19)上崩溃,堆栈跟踪如下。

Main2Activity.java:10 行是我的活动 onCreate() 方法的第一行。

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) 

我该如何解决?

4

4 回答 4

37

似乎这个问题与 Aapt 2 有关。

android.enableAapt2=false

在您的gradle.properties文件中,它为我解决了这个问题。

于 2017-07-11T09:48:08.983 回答
5

我有同样的问题。

android.enableAapt2=false

AAPT2。我们将继续稳定支持增量资源处理的 AAPT2。如果您的构建由于资源处理问题而失败,请向我们发送错误报告。要暂时禁用 AAPT,请在 gradle.properties 文件中设置 android.enableAapt2=false。Roboelectric 目前与 AAPT2 不兼容

按照下面的链接

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

于 2017-07-11T11:38:14.643 回答
4

我有同样的问题。要解决它,只需更新到Android Studio 3.0 Canary 7即可。

修复:升级到 Canary 6 后在 API 16 AVD 上运行 Kotlin 项目的
63623801 ResourceNotFoundException

发行说明

于 2017-07-20T09:08:46.380 回答
2

在我的项目中添加此代码

android.enableAapt2=false

解决了我的一个问题:使用 Android Studio 3.0:canary 6,默认情况下生成一个签名的 APK,它不能被“AXmlResourceParser.java”(axmlprinter2-2.0.jar)解析

于 2017-07-12T07:42:15.590 回答