Android 2.3.5的代号One?

时间:2018-10-17 11:55:58

标签: java android codenameone

我使用CodeName One插件在Eclipse中编译简单的GUI项目。 它可以在他们的模拟器中使用,并且可以在线构建,但是在装有Android 2.3.5的HTC WildFire S上,我收到消息“解析程序包时出现问题”。

因此,我已将Android“提示”置于CodeName One中: android.targetSDKVersion和android.min_sdk_version设置为10。

结果,在线构建失败并显示以下信息:

  

原因:java.lang.RuntimeException:清单合并失败:   use-sdk:minSdkVersion 10不能小于声明的版本14   在库中[com.android.support:support-v4:27.1.1]   /home/ec2-user/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/c2029d859fd8146aea03623953116eed/AndroidManifest.xml   因为该库可能正在使用10建议中不提供的API:   使用兼容的库,其minSdk最多为10,或者增加   该项目的minSdk版本至少为14,或使用   tools:overrideLibrary =“ android.support.v4”强制使用(可能导致   运行时失败)


因此我已在CodeName中将此值添加到Android的“提示”中

tools.overrideLibrary android.support.v4
android.overrideLibrary android.support.v4
android.tools.overrideLibrary android.support.v4
android.tools:overrideLibrary android.support.v4
android.tools:overrideLibrary "android.support.v4"

但这无济于事。

我不知道Android在CodeName One中的位置是什么,也不知道如何设置tools:overrideLibrary =“ android.support.v4”来强制使用。

他们的在线支持建议在此处提出问题。 但是他们说可以支持Android 2.3。

1 个答案:

答案 0 :(得分:1)

支持较早版本的Android的第一步是明确禁用Google Play。默认情况下,我们包括针对位置API的Google Play服务,因此您只需添加构建提示即可将其禁用:

android.playService.location=false

这将向我们表明您对默认设置不感兴趣,并且播放将被完全禁用。一旦关闭,您可能将没有支持库或与此相关的任何东西,但是随着这些事情的改变,很难保证。 Google本身早在几年前就已放弃了对这些旧设备的支持,而对我们来说,支持它们是一个挑战。

要完成此过程,您还需要添加以下提示:

  • android.buildToolsVersion=23-由于新版本放弃了兼容性,因此使用较旧的Android构建工具进行构建过程
  • android.targetSDKVersion=14-以旧版本的Android为主要目标。这会禁用某些功能,例如权限提示等
  • android.min_sdk_version=10-表示支持的最低SDK,10是2.3.x