升级Codename One 7.0.138后Android构建与广告ID声明问题
Codename One Android运行时异常问题求助
我近期将Codename One库升级至7.0.138版本,向Google Play Console发布Android构建时遇到广告ID相关错误,需在Play声明中添加该ID。为解决此问题,我在codenameone_settings.properties文件中添加了以下配置:
codename1.arg.android.xpermissions=<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
该操作解决了Play Console的问题,但Android设备出现运行时异常(模拟器与iOS设备无此问题),异常信息如下:
java.lang.InstantiationException: java.lang.Class<u3.r0> cannot be instantiated
此异常在调用继承自PropertyBusinessObject的DTO的.getPropertyIndex().loadJSON()方法时触发。我已排查DTO属性定义,但问题仍存在。
请问该如何解决此异常?是否可能是广告ID声明的修改对Android构建产生了意外影响?
配置信息
codename1.android.keystore=C\:\\xxxxx\\xxxxx\\xxxxx\\Keychain.ks codename1.android.keystoreAlias=xxxxx codename1.android.keystorePassword=xxxxx codename1.arg.android.debug=false codename1.arg.android.multidex=true codename1.arg.android.xpermissions=<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/> codename1.arg.android.permission.ACCESS_BACKGROUND_LOCATION=true codename1.arg.android.permission.ACCESS_COARSE_LOCATION=true codename1.arg.android.permission.ACCESS_FINE_LOCATION=true codename1.arg.android.permission.ACCESS_MOCK_LOCATION=true codename1.arg.android.permission.READ_CONTACTS=true codename1.arg.android.permission.WAKE_LOCK=true codename1.arg.android.playService.gcm=true codename1.arg.android.release=true
应用权限变更
- 新增权限:
android.permission.POST_NOTIFICATIONS android.permission.RECEIVE_BOOT_COMPLETED com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE com.google.android.gms.permission.AD_ID com.whosplays.app.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
- 移除权限:
com.whosplays.app.permission.C2D_MESSAGE
日志信息
[EDT] 0:0:2,0 - Codename One revisions: 7dd4e7d08b3442d90959477ee52a5ae8c4361b29 [EDT] 0:0:2,3 - Exception: java.lang.InstantiationException - java.lang.Class<u3.m> cannot be instantiated java.lang.InstantiationException: java.lang.Class<u3.m> cannot be instantiated at java.lang.Class.newInstance(Native Method) at c1.k.k(SourceFile:321) at c1.k.i(SourceFile:30) at t3.c.p(SourceFile:112) at com.whosplays.app.ki.z0(SourceFile:55) at com.whosplays.app.ki.h0(SourceFile:545) at com.whosplays.app.uh.b(SourceFile:1) at s1.a.d(SourceFile:17) at com.whosplays.app.ki.f(SourceFile:10) at com.whosplays.app.ki.a(SourceFile:3) at k2.b.j(SourceFile:15) at k2.b.i(SourceFile:71) at f1.g.o(SourceFile:3) at f1.e.S(SourceFile:11) at com.whosplays.app.WhosPlaysStub.run(SourceFile:59) at com.whosplays.app.WhosPlaysStub$a.run(SourceFile:17) at z1.t.E(SourceFile:1) at z1.t.o1(SourceFile:71) at z1.t.c1(SourceFile:72) at z1.p0.run(SourceFile:142) at q0.b$a.run(SourceFile:3) at java.lang.Thread.run(Thread.java:923)
内容的提问来源于stack exchange,提问作者Oscar Naranjo
相关产品推荐
相关产品推荐

