-
Creator 版本:2.3.3
-
目标平台: Android
-
详细报错信息,包含调用堆栈:
07/15 18:16:57: Launching 'kungfu-debug' on Pixel 2 API 28.
$ adb shell am start -n "com.xinyunbooks.kungfu/org.cocos2dx.javascript.AppActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 2850 on device 'emulator-5554'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/MultiDex: VM with version 2.1.0 has multidex support
Installing application
VM has multidex support, MultiDex support library is disabled.
Installing application
VM has multidex support, MultiDex support library is disabled.
D/InitHelper: init start: false
W/yunbooks.kungf: Accessing hidden method Landroid/app/ActivityThread;->currentActivityThread()Landroid/app/ActivityThread; (light greylist, reflection)
Accessing hidden method Landroid/app/ActivityThread;->getApplication()Landroid/app/Application; (light greylist, reflection)
D/TrackerDr: e#init:
D/TrackerDr: i#init:
E/i#IdentifierManager: reflect exception!
java.lang.ClassNotFoundException: com.android.id.impl.IdProviderImpl
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:453)
at java.lang.Class.forName(Class.java:378)
at com.bytedance.embed_device_register.i$a.(SourceFile:201)
at com.bytedance.embed_device_register.i$a.a(SourceFile:226)
at com.bytedance.embed_device_register.i.(SourceFile:50)
at com.bytedance.embed_device_register.i.b(SourceFile:42)
at com.bytedance.embed_device_register.i.a(SourceFile:35)
at com.bytedance.embed_device_register.g.a(SourceFile:41)
at com.bytedance.embed_device_register.b.a(SourceFile:33)
at com.bytedance.embedapplog.b.i.(SourceFile:67)
at com.bytedance.embedapplog.AppLog.init(SourceFile:118)
at com.bytedance.sdk.openadsdk.core.l.e(InitHelper.java:210)
at com.bytedance.sdk.openadsdk.core.l.d(InitHelper.java:145)
at com.bytedance.sdk.openadsdk.core.l.c(InitHelper.java:95)
at com.bytedance.sdk.openadsdk.core.l.a(InitHelper.java:68)
at com.bytedance.sdk.openadsdk.TTAdManagerFactory.getInstance(TTAdManagerFactory.java:38)
at com.bytedance.sdk.openadsdk.TTAdSdk.a(TTAdSdk.java:60)
at com.bytedance.sdk.openadsdk.TTAdSdk.init(TTAdSdk.java:30)
at org.cocos2dx.javascript.TTAdManagerHolder.doInit(TTAdManagerHolder.java:32)
at org.cocos2dx.javascript.TTAdManagerHolder.init(TTAdManagerHolder.java:26)
at org.cocos2dx.javascript.MyApplication.onCreate(MyApplication.java:15)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.id.impl.IdProviderImpl" on path: DexPathList[[zip file "/data/app/com.xinyunbooks.kungfu-dUVH9T2rRSsYFf_ovOnlxQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyunbooks.kungfu-dUVH9T2rRSsYFf_ovOnlxQ==/lib/arm, /data/app/com.xinyunbooks.kungfu-dUVH9T2rRSsYFf_ovOnlxQ==/base.apk!/lib/armeabi-v7a, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:453)
at java.lang.Class.forName(Class.java:378)
at com.bytedance.embed_device_register.i$a.(SourceFile:201)
at com.bytedance.embed_device_register.i$a.a(SourceFile:226)
at com.bytedance.embed_device_register.i.(SourceFile:50)
at com.bytedance.embed_device_register.i.b(SourceFile:42)
at com.bytedance.embed_device_register.i.a(SourceFile:35)
at com.bytedance.embed_device_register.g.a(SourceFile:41)
at com.bytedance.embed_device_register.b.a(SourceFile:33)
at com.bytedance.embedapplog.b.i.(SourceFile:67)
at com.bytedance.embedapplog.AppLog.init(SourceFile:118)
at com.bytedance.sdk.openadsdk.core.l.e(InitHelper.java:210)
at com.bytedance.sdk.openadsdk.core.l.d(InitHelper.java:145)
at com.bytedance.sdk.openadsdk.core.l.c(InitHelper.java:95)
at com.bytedance.sdk.openadsdk.core.l.a(InitHelper.java:68)
at com.bytedance.sdk.openadsdk.TTAdManagerFactory.getInstance(TTAdManagerFactory.java:38)
at com.bytedance.sdk.openadsdk.TTAdSdk.a(TTAdSdk.java:60)
at com.bytedance.sdk.openadsdk.TTAdSdk.init(TTAdSdk.java:30)
at org.cocos2dx.javascript.TTAdManagerHolder.doInit(TTAdManagerHolder.java:32)
at org.cocos2dx.javascript.TTAdManagerHolder.init(TTAdManagerHolder.java:26)
at org.cocos2dx.javascript.MyApplication.onCreate(MyApplication.java:15)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/TeaLog: Inited
W/yunbooks.kungf: Accessing hidden method Landroid/content/pm/PackageParser$Package;->(Ljava/lang/String;)V (light greylist, reflection)
Accessing hidden field Landroid/app/ActivityThread;->mHiddenApiWarningShown:Z (dark greylist, reflection)
W/yunbooks.kungf: Accessing hidden field Landroid/app/ActivityManager;->IActivityManagerSingleton:Landroid/util/Singleton; (light greylist, reflection)
Accessing hidden field Landroid/util/Singleton;->mInstance:Ljava/lang/Object; (light greylist, reflection)
E/Downloader-DownloadComponentManager: component has init
- 重现方式:
我在 Cocos Creator 2.3.3 里接入穿山甲广告编译成Android原生小游戏,基本的接入方法是按照 https://blog.csdn.net/frankxixu/article/details/106920728 这个来做的。编译可以通过,但是通过Android Studio运行或者通过手机运行会在 TTAdManagerHolder.init(this); 这句中断跳出,如果删掉此句游戏能正常运行。跳出时的错误如上(这个com.android.id.imple.IdProviderImpl应该时穿山甲提供的open_ad_sdk.aar内部调用的)。
请问我改如何解决这个问题?



