CodenameOne-使用Android构建时,Android应用无法启动。buildToolsVersion=27

CodenameOne-使用Android构建时,Android应用无法启动。buildToolsVersion=27,android,google-cloud-messaging,codenameone,Android,Google Cloud Messaging,Codenameone,我正在使用gcm,由于以下错误,应用无法启动: AndroidRuntime:java.lang.IllegalAccessError:Method'void android.support.v4.content.ContextCompat。(“”对用户不可访问 类“com.google.android.gms.iid.zzd”(声明 “com.google.android.gms.iid.zzd”出现在 /data/app/net.segoia.opengroups.mobile-1/base

我正在使用gcm,由于以下错误,应用无法启动:

AndroidRuntime:java.lang.IllegalAccessError:Method'void android.support.v4.content.ContextCompat。(“”对用户不可访问 类“com.google.android.gms.iid.zzd”(声明 “com.google.android.gms.iid.zzd”出现在 /data/app/net.segoia.opengroups.mobile-1/base.apk:classes2.dex)

这是由这一行引起的:

InstanceID instanceID = InstanceID.getInstance(this);

问题是,在构建api级别27时,对android v4的支持被放弃。

解决问题的方法是添加以下两个构建提示:

android.supportV4=true
android.supportv4Dep=compile 'com.android.support:support-v4:23.+'
这需要一段时间才能弄清楚,特别是因为android.supportV4Dep甚至没有文档记录,而仅android.supportV4是不够的。我从另一个stackoverflow对另一个问题的回答中了解到了android.supportV4Dep,所以我想在这里记录一下