TapTapTap!!!(42)~アルファ版の不具合を修正する3~
TapTapTap!!!(41)~アルファ版の不具合を修正する2~ ではその中で出た不具合である Google Play Games にサインインできないことに対して対処を引き続き行った。しかしながら、サインインとは異なる不具合も残っているようなので、そちらの対処も進めていく。
1.対処が必要な不具合
Google Play Console で不具合となっている「リリース前レポート」を確認したところ、以下のようなエラーを吐き出していたのでそちらの対処を行っていく。
10-10 02:45:13.674: I/AppCompatDelegate(13572): java.lang.ClassNotFoundException: android.support.v7.app.AppCompatViewInflater 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.Class.classForName(Native Method) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.Class.forName(Class.java:324) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.Class.forName(Class.java:285) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.support.v7.app.AppCompatDelegateImpl.a(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):57) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.support.v7.app.AppCompatDelegateImpl.onCreateView(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):1) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.support.v7.app.AppCompatDelegateImpl.o(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):83) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.support.v7.app.AppCompatDelegateImpl.c(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):2) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at zo.setContentView(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):1) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at yv.onCreate(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):3) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.app.Dialog.dispatchOnCreate(Dialog.java:394) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.app.Dialog.show(Dialog.java:295) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at mk.h(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):2) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at iqw.h(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):1) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nb.a(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):599) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nb.e(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):8) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nb.a(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):365) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at mf.e(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):16) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nb.a(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):236) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nb.c(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):8) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nb.p(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300):10) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at nc.run(:com.google.android.play.games@59040030@5.9.04 (197933061.197933061-000300)) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.os.Handler.handleCallback(Handler.java:746) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.os.Handler.dispatchMessage(Handler.java:95) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.os.Looper.loop(Looper.java:148) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at android.app.ActivityThread.main(ActivityThread.java:5459) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.reflect.Method.invoke(Native Method) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 10-10 02:45:13.674: I/AppCompatDelegate(13572): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.AppCompatViewInflater" on path: DexPathList[[zip file "/data/app/com.google.android.play.games-1/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.play.games-1/lib/arm, /data/app/com.google.android.play.games-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]] 10-10 02:45:13.674: I/AppCompatDelegate(13572): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 10-10 02:45:13.674: I/AppCompatDelegate(13572): ... 33 more 10-10 02:45:13.674: I/AppCompatDelegate(13572): Suppressed: java.lang.ClassNotFoundException: android.support.v7.app.AppCompatViewInflater 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.Class.classForName(Native Method) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 10-10 02:45:13.674: I/AppCompatDelegate(13572): at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 10-10 02:45:13.674: I/AppCompatDelegate(13572): ... 34 more 10-10 02:45:13.674: I/AppCompatDelegate(13572): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
「android.support.v7.app.AppCompatViewInflater」というクラスが見つからないというエラーであり、これによってアプリが強制終了してしまっていることが「リリース前レポート」から確認できた。
2.不具合の対処を行う
不具合の対処方についてはこちらのページを参考にして対処を行っていく。対処の内容としてはUnity内の [Project] > [Plugins] > [Android] > [MainLibProj] の「AndroidManifest.xml」の変更を行うことで対応が行えるらしい。変更した内容は以下の通り。
<?xml version="1.0" encoding="utf-8"?> <!-- This file was automatically generated by the Google Play Games plugin for Unity Do not edit. --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="27" /> <application android:name="android.support.multidex.MultiDexApplication"> <!-- Required for Nearby Connections API --> <meta-data android:name="com.google.android.gms.nearby.connection.SERVICE_ID" android:value="" /> <!-- the space in these forces it to be interpreted as a string vs. int --> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value=" 903254396378" /> <meta-data android:name="com.google.android.gms.games.unityVersion" android:value=" 0.9.39" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.google.games.bridge.NativeBridgeActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" /> </application> </manifest>
この対応だけで少なくとも「リリース前レポート」がうまくいくとよいのですが。動作状況等は Twitter で報告させていただくことになると思いますのでよろしくおねがいします。