我已经安装了cordova-android版本7.0.0
我的应用必须在Android 4.1.1中运行
所以我添加了平台:
<?xml version="1.0" encoding="UTF-8"?>
<UI xmlns="http://schemas.koboltentertainment.com">
<Info>
<Version>1.0.0.0</Version>
<LocalCoord>640,480</LocalCoord>
</Info>
<Files>
<Sprite>life.sff</Sprite>
<Anim>life.air</Anim>
</Files>
<!-- HUD implementation. All positions are relative to the top-left of the screen. -->
<HUD>
<Containers>
<!-- P1 LifeBar -->
<Container name="P1LifeBar" pos="6,69" layer="201" alignment="Left" anim="0" id="11">
<!-- Note here how we set the AnimSource element to self and the SFFSource to Player[0] (P1)'s SFF.
This means the animation should use P1's sprite data, but use our animation data. This is
similar to ChangeAnim2 in character code. -->
<Anim name="P1Portrait" pos="12,0" layer="199" anim="9000" id="12">
<!-- Valid Values for AnimSource and SFFSource: self, Player[x] -->
<AnimSource>self</AnimSource>
<SFFSource>Players[0]</SFFSource>
</Anim>
<!-- We set the bar min and max according to P1's constants. We bind it to P1's Life property. -->
<Bar min="0" max="Players[0].Constants.Data.Life" valueBind="Players[0].Life" pos="6,69" layer="200"
width="263" anim="1" recoverAnim="2" id="13">
<Mask anim="10"/>
</Bar>
<!-- Here we have our first Text. It binds to P1's Name.-->
<Text font="Aqua Grotesque" pos="24,56" valueBind="Players[0].Name" alignment="Left"/>
</Container>
<!-- P2 LifeBar -->
<Container name="P2LifeBar" pos="6,69" layer="201" alignment="Right" anim="3" id="14">
<Anim name="P2Portrait" pos="614,0" layer="199" anim="9001" id="15">
<AnimSource>self</AnimSource>
<SFFSource>Players[1]</SFFSource>
</Anim>
<Bar min="0" max="Players[1].Constants.Data.Life" valueBind="Players[1].Life" pos="6,69" layer="200"
width="263" anim="4" recoverAnim="5" id="16">
<Mask anim="10"/>
</Bar>
<Text font="Aqua Grotesque" pos="400,56" valueBind="Players[0].Name" alignment="Right"/>
</Container>
</Containers>
<!-- Timer. It's like Text with additional timer options, such as whether or not it is affected by Turbo. -->
<Timer font="timer.xnb" pos="312,32" turboTime="false" valueBind="RoundTime">
<!-- These are the times that are valid for this timer. These will be selectable from Options menu. -->
<ValidTimes>
<TimeOption>0</TimeOption>
<TimeOption>30</TimeOption>
<TimeOption>60</TimeOption>
<TimeOption>90</TimeOption>
</ValidTimes>
<TicksPerCount>60</TicksPerCount>
</Timer>
</HUD>
</UI>
然后我得到:
使用cordova-fetch for cordova-android@4.1.1添加android project ...无法从平台加载PlatformApi。错误:未处理 &#34;错误&#34;事件。 (似乎没有实现平台Api。)错误: 包名称必须如下所示:com.company.Name
有什么建议吗?
答案 0 :(得分:6)
Cordova android平台版本与您的手机需要运行的Android版本不同。
Cordova平台版本支持一系列Android OS版本。您可以在the Codova Android platform guide page上为每个cordova android平台版本找到一系列受支持的Android版本。
Cordova android平台版本6.x支持从4.1到7.1的Android版本。
对于cordova android平台版本7.x,最低版本已设置为4.4,因此如果您需要支持比Kit-Kat更早的手机(最小sdk已更改),则无法使用平台版本7.x
所有这些都说明你需要的是一个版本6的cordova平台工具而不是4.1.1,所以使用以下行,它应该可以正常工作:
cordova platform add android@6.4.0
我还没有测试最新版本的CLI,目前我还在使用带有android平台6.2.3的cordova版本7.0.1,所以我不确定是否还有cordova android 6.4 .0将与cordova 8一起使用,或者如果您还必须降级CLI版本。
答案 1 :(得分:5)
原始问题已经过编辑,它现在要求支持Android 4.1.1(SDK 16),而不是SDK 19作为原始答案。
为了支持Android 4.1.1你可以使用cordova-android 7.0.0或更早版本,cordova-android 7.1.0将Min SDK增加到19。
原始回答:
首先,即使是最新的cordova-android版本(目前为7.1.0),仍然支持SDK 19及更新版本,所以不确定为什么要降级到4.1.1。
现在,要使cordova-android 4.1.1正常运行,您需要一个旧的Cordova CLI,因为新的CLI需要新的平台,并且与4.1.1之类的旧平台不兼容。
因此请使用
安装Cordova CLI 5.4.1npm install -g cordova@5.4.1
执行此操作后,您应该可以添加带有
的cordova-android 4.1.1cordova platform add android@4.1.1
答案 2 :(得分:2)
从Android SDK Manager安装Andorid平台API级别19
安装稳定的cordova:
npm install -g cordova@7.0.0
cordova platform add android
在config.xml中添加<widget>...<widget/>
:
<preference name="android-minSdkVersion" value="19">
<preference name="android-targetSdkVersion" value="19">
在build.gradle
中进行以下更改:
defaultMinSdkVersion=16
defaultTargetSdkVersion=19
defaultCompileSdkVersion=19
在project.properties
中进行以下更改:
target=android-19
运行您的代码:
cordova run android
答案 3 :(得分:2)
请更新节点和cordova作为最新版本。
npm install -g cordova
并添加android 6.2.3版本。
cordova platform add android@6.2.3
此版本现在可以很好用。
答案 4 :(得分:1)
将crosswalk添加到您的项目中可以支持Android 4.1.1版
首先,ionic cordova platform remove android
然后,ionic cordova platform add android@6.2.3
最后,
cordova plugin add cordova-plugin-crosswalk-webview
答案 5 :(得分:0)
这里有很多错误的答案。
This page显示cordova-android
的版本及其兼容的Android SDK API。如果要支持Jelly Bean,则需要使用cordova-android
版本6.x.x
–最新版本(7.x.x
)仅支持低至API级别19(称为Kit Kat的v4.4)。没有理由做任何其他疯狂的事情!
只需运行cordova platform remove android && cordova platform add android@6
确保您的cordova也使用npm i -g cordova
更新了,它可以正常工作而不会降级。另外请记住,您不再需要cordova-plugin-compat
软件包!
还请注意,您需要下载与16不同的SDK API,但它仍然可以在较旧的设备(例如Android 4.1.1)上运行。