これはphonegap 3.5/cordova 3 Android app。www/config.xmlにあります:
<preference name="Android-minSdkVersion" value="19">
<preference name="Android-targetSdkVersion" value="19">
ただし、ビルドすると、次のようにAndroidManifest.xmlが作成されます。
<uses-sdk Android:minSdkVersion="10" Android:targetSdkVersion="19" />
その結果、SDKバージョンが19未満のユーザーはストアからアプリをインストールできます。その10をどこから取得し、どのように変更できますか?ビューポートの奇妙さのために、私のアプリの動作は4.4より下のOSでは疑わしく、4.2.2ユーザーから既に1つ星のレビューを受けています。
以前のバージョンのcordova CLIでは、回答で行ったようにいくつかの設定(起動モード、minsdk ...)を変更するために手動でAndroidManifest.xml
を変更していました。
そしてCordova 3.5。somethingで問題が発生し始め、プロジェクトをビルドするたびにいくつかの変更が失われました。
config.xml
にこれらの行を追加すると、設定が自動的に更新されます。
<platform name="Android">
<preference name="AndroidLaunchMode" value="singleTop"/>
<preference name="Android-minSdkVersion" value="14" />
<icon src="res/Android/xhdpi.png" />
<icon src="res/Android/ldpi.png" density="ldpi" />
<icon src="res/Android/mdpi.png" density="mdpi" />
<icon src="res/Android/hdpi.png" density="hdpi" />
<icon src="res/Android/xhdpi.png" density="xhdpi" />
</platform>
利点は、Androidプラットフォームを削除し、設定を失うことなく再作成できることです。
Phonegapはコルドバとインラインになるように更新されているため、config.xml
の設定は新しいバージョンでも動作するはずです。
ステップ1) yourapp/config.xml file <platform name="Android">
タグは2つの設定を追加します
<platform name="Android">
<preference name="Android-minSdkVersion" value="14" />
<preference name="Android-targetSdkVersion" value="19" />
</platform>
ステップ2)cordova platform rm Android
cmdコードを実行
ステップ3)cordova platform add Android
cmdコードの実行以下のように見える場合は、AndroidManifest.xmlファイルを確認してください。
<uses-sdk Android:minSdkVersion="14" Android:targetSdkVersion="19" />
すべてが大丈夫です :)
編集して改善された回答:
これに答えるには、ビルドバージョンまたはAPIレベルから始めることをお勧めします。 APIレベルは、Androidプラットフォームのバージョンによって提供されるフレームワークAPIリビジョンを一意に識別する整数値です。
API Level 8 == Android Platform 2.3(ginger bread)
API Level 17 == Android Platform 4.2(Jelly bean)
APILevelとそのAndroidPlatformチェックの完全な比較を確認するには here
targetSdkはphonegapのみで使用されます。これは、特定のAPILevelを使用してこのアプリをビルドするようphonegapに指示します。これは、ユーザーによるアプリのダウンロードを制限するものではありません。 「このアプリはこのAPILevel向けに最適化されています」と言った方がいいでしょう。例
<preference name="Android-targetSdkVersion" value="17"/> //Android 4.2
このアプリは、APILevel 17(jellyBeanまたはandroidPlatform4.2)を使用してビルド(最適化)されます
minSdk一方、ユーザー/デバイスを制限します。 minSdkは、ユーザー/デバイスのSdkの最小要件です。 minSdkで使用されるAPILevel未満のAPIlevelを持つデバイスは、このアプリをダウンロードできません。例:
<preference name="Android-minSdkVersion" value="11"/> //Android 3.0
このアプリをダウンロードするには、デバイスは少なくともAndroid 3.0(APILevel 11)で実行する必要があります
最後に、一緒に使用する場合:
<preference name="Android-minSdkVersion" value="11"/> //Android 3.0
<preference name="Android-targetSdkVersion" value="17"/> //Android 4.2
このステートメントは、このアプリがAndroid4.2向けに最適化され、最小要件Android 3.0
Doc: http://docs.build.phonegap.com/en_US/configuring_preferences.md.html#Preferences
特定のターゲットバージョンを設定する方法を探してここにたどり着く人のために、私はこれを見つけました。ターゲットを変更する必要がありました:
target = Android-22これは、次の2つのファイルで実行する必要があります。
myApp/platforms/Android/project.properties myApp/platforms/Android/CordovaLib/project.properties
また、マニフェストも更新する必要があります。
ここに置かれたセバスチャン答えから: Cordova:[エラー:インストールしてくださいAndroid target: "Android-21"
Platform/Android/AndroidManifest.xmlを手動で編集することでこれを修正できました。
<uses-sdk Android:minSdkVersion="19" Android:targetSdkVersion="19" />
Phonegap documentation は、このファイルがAndroid-minSdkVersion設定の値を継承する必要があることを示唆しているようですが、手動で変更する必要があります。 Android-minSdkVersionプリファレンスは、私が知る限り、何もしないようです。