web-dev-qa-db-ja.com

AppCompatDelegateカスタムビューインフレーターのインスタンス化に失敗しましたAndroid.support.v7.app.AppCompatViewInflater

アプリのすべてのアクティビティでリリースapkがこのエラーログを取得しているとき

04-03 17:10:54.105 26527-26527/? I/AppCompatDelegate: Failed to instantiate custom view inflater Android.support.v7.app.AppCompatViewInflater. Falling back to default.
            Java.lang.ClassNotFoundException: Android.support.v7.app.AppCompatViewInflater
              at Java.lang.Class.classForName(Native Method)
              at Java.lang.Class.forName(Class.Java:309)
              at Java.lang.Class.forName(Class.Java:273)
              at Android.support.v7.app.j.b(AppCompatDelegateImplV9.Java:1014)
              at Android.support.v7.app.j.onCreateView(AppCompatDelegateImplV9.Java:1092)
              at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:725)
              at Android.view.LayoutInflater.inflate(LayoutInflater.Java:482)
              at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414)
              at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365)
              at com.Android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.Java:3605)
              at com.Android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.Java:3677)
              at com.Android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.Java:1943)
              at Android.support.v7.app.j.x(AppCompatDelegateImplV9.Java:374)
              at Android.support.v7.app.j.w(AppCompatDelegateImplV9.Java:323)
              at Android.support.v7.app.j.b(AppCompatDelegateImplV9.Java:284)
              at Android.support.v7.app.c.setContentView(AppCompatActivity.Java:139)
              at com.myapp.example.MainActivity.I(MainActivity.Java:1523)
              at com.myapp.example.MainActivity.onCreate(MainActivity.Java:358)
              at Android.app.Activity.performCreate(Activity.Java:6010)
              at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1129)
              at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2292)
              at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2413)
              at Android.app.ActivityThread.access$800(ActivityThread.Java:155)
              at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1317)
              at Android.os.Handler.dispatchMessage(Handler.Java:102)
              at Android.os.Looper.loop(Looper.Java:135)
              at Android.app.ActivityThread.main(ActivityThread.Java:5343)
              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:905)
              at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:700)
            Caused by: Java.lang.ClassNotFoundException: Didn't find class "Android.support.v7.app.AppCompatViewInflater" on path: DexPathList[[Zip file "/data/app/com.myapp.example-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
              at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
              at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
              at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
              at Java.lang.Class.classForName(Native Method) 
              at Java.lang.Class.forName(Class.Java:309) 
              at Java.lang.Class.forName(Class.Java:273) 
              at Android.support.v7.app.j.b(AppCompatDelegateImplV9.Java:1014) 
              at Android.support.v7.app.j.onCreateView(AppCompatDelegateImplV9.Java:1092) 
              at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:725) 
              at Android.view.LayoutInflater.inflate(LayoutInflater.Java:482) 
              at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414) 
              at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365) 
              at com.Android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.Java:3605) 
              at com.Android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.Java:3677) 
              at com.Android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.Java:1943) 
              at Android.support.v7.app.j.x(AppCompatDelegateImplV9.Java:374) 
              at Android.support.v7.app.j.w(AppCompatDelegateImplV9.Java:323) 
              at Android.support.v7.app.j.b(AppCompatDelegateImplV9.Java:284) 
              at Android.support.v7.app.c.setContentView(AppCompatActivity.Java:139) 
              at com.myapp.example.MainActivity.I(MainActivity.Java:1523) 
              at com.myapp.example.MainActivity.onCreate(MainActivity.Java:358) 
              at Android.app.Activity.performCreate(Activity.Java:6010) 
              at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1129) 
              at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2292) 
              at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2413) 
              at Android.app.ActivityThread.access$800(ActivityThread.Java:155) 
              at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1317) 
              at Android.os.Handler.dispatchMessage(Handler.Java:102) 
              at Android.os.Looper.loop(Looper.Java:135) 
              at Android.app.ActivityThread.main(ActivityThread.Java:5343) 
              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:905) 
              at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:700) 
            Suppressed: Java.lang.ClassNotFoundException: Android.support.v7.app.AppCompatViewInflater
              at Java.lang.Class.classForName(Native Method)
              at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
              at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
              at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
                  ... 32 more
            Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

App Gradleの設定を以下に示します。

  • compileSdkVersion 27、
  • buildToolsVersion "25.0.3"
  • minSdkVersion 16
  • targetSdkVersion 24
  • support_library_version = '27 .1.0 '、
  • google_play_services_version = '12 .0.1 '**

注:このエラーはリリースビルドでのみ発生し、デバッグビルドでは発生しません。

ありがとうございました。

9
Sarath Kumar

プロガードルールを書く:

-dontwarn Android.support.v7.** -keep class Android.support.v7.** { *; } -keep interface Android.support.v7.** { *; }

4
Sameer Jani

これはappcompat-v727.1.0のバグのようです: https://issuetracker.google.com/issues/74289571

2018年3月27日07:49 AM

開発チームが報告された問題を修正しました。今後のビルドで利用可能になります。

サポートライブラリの新しいバージョンに更新するか(この修正が既にリリースされている場合)、このバグが存在しない以前のバージョンにダウングレードすることができます:27.0.2

5
Thorbear

compileSdkVersionbuildToolsVersiontargetSdkVersion、およびsupport libraryには同じバージョンを使用する必要があります。したがって、バージョン27を使用する必要があります。

  • compileSdkVersion 27

  • buildToolsVersion "27.0.3"

  • targetSdkVersion 27

  • support_library_version = '27 .1.0 '

27.1.1で修正されたと思います。

compileSdkVersion 27
buildToolsVersion '27.0.3'
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.Android.support:cardview-v7:27.1.1'
0
JPM