You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:19:49