CodenameOne - 使用android.buildToolsVersion = 27进行构建时,Android应用程序无法启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodenameOne - 使用android.buildToolsVersion = 27进行构建时,Android应用程序无法启动相关的知识,希望对你有一定的参考价值。

我正在使用gcm,由于此错误,应用程序无法启动:

androidRuntime:java.lang.IllegalAccessError:类'com.google.android.gms.iid.zzd'无法访问方法'void android.support.v4.content.ContextCompat。()'('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,所以我想我会在这里记录。

以上是关于CodenameOne - 使用android.buildToolsVersion = 27进行构建时,Android应用程序无法启动的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CodeNameOne 项目中指定 abiFilters?

Codenameone订阅

适用于 android、ios 和 blackberry 的 Codenameone 应用内计费

如何在 Eclipse 项目中使用 Codenameone Source?

CodenameOne:Capture.capturePhoto() 请求错误的权限?

在codenameone中获得服务响应中的问号