我使用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。
答案 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