Ionic 1.0.0 beta-8を使用
新しいアプリを作成した後、それを構築してNexus 5エミュレーターにデプロイしましたが、うまく機能しました。しかし、Android 2.2電話でデバッグしようとすると、このエラーが発生しました:
....
-post-build:
[move] Moving 1 file to /home/admin/code/projects/myapp/ionic/platforms/Android/ant-build
[move] Moving 1 file to /home/admin/code/projects/myapp/ionic/platforms/Android/CordovaLib/ant-build
debug:
BUILD SUCCESSFUL
Total time: 6 seconds
WARNING : No target specified, deploying to device 'I8972b56ddac'.
Using apk: /home/admin/code/projects/myapp/ionic/platforms/Android/ant-build/HelloCordova-debug-unaligned.apk
Installing app on device...
/home/admin/code/projects/myapp/ionic/platforms/Android/cordova/node_modules/q/q.js:126
throw e;
^
ERROR: Failed to launch application on device: ERROR: Failed to install apk to device: pkg: /data/local/tmp/HelloCordova-debug-unaligned.apk
Failure [INSTALL_FAILED_OLDER_SDK]
Error: /home/admin/code/projects/myapp/ionic/platforms/Android/cordova/run: Command failed with exit code 8
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:755:16)
at Process.ChildProcess._handle.onexit (child_process.js:822:5)
ERROR: Unable to run app on platform Android. Please see console for more info.
Exiting.
Android 4.x.x電話およびAndroid 2.2電話の場合、ion/cordovaでビルドを動作させるにはどうすればよいですか?
この質問はあなたのものに似ています。 stackoverflow
androidManifest.xmlにアクセスして、sdk buildversionを制御するこれらを見つけます。
<preference name="Android-minSdkVersion" value="XX"> // value is the API LEVEL
<preference name="Android-targetSdkVersion" value="XX">
* targetSdk = phonegapにどのAndroid使用するビルドバージョン、
* MinSdkは、ダウンロードするユーザーを制限します。
Android build here 。]のAPIレベルを確認してください。
あなたの場合:for Android 2.2、use value = 8(API level 8)
<preference name="Android-minSdkVersion" value="8"> //Android 2.2
<preference name="Android-targetSdkVersion" value="17"> //Android 4.2
注:Android 2.2(APIレベル8)はAPIレベル17(Android 4.2)を実行できます。
Ionic Platform notes 、Ionic iPhoneを対象とし、Androidデバイス(現在)。iOS6+をサポートしています。 Android 4.0+(2.3は動作するはずですが)。ただし、さまざまなAndroidデバイスがあるため、特定のデバイスが動作しない可能性があります。Ionicは、Android 2.3を保証しなかったため、Android 2.2は範囲外になります。
したがって、それがあなたが挑戦している理由だと思います。
ちなみに、GoogleはHoneycombの機能をバックポートし、それ以降のバージョンのAndroidから「互換性」ライブラリに。これをインストールして、Androidの古いバージョンでアプリを動作させることができるかもしれません。 Android SDKを更新し、このライブラリをインストールする必要があります。
Android Support Library docsを参照してください。
Ionicを使用している場合、プラットフォームとしてAndroidを追加するかビルドを開始するときに、ライブラリをプロジェクトにコピーするフックスクリプトを追加できます。
ionicプロジェクトの"Android-minSdkVersion"
のconfig.xml
の値を変更します。次のようになります。
<preference name="Android-minSdkVersion" value="14"/>
CdvCompileSdkVersionは、ネイティブAndroidアプリで使用されるようなtargetSdkVersionではなく、ビルドSDKを決定するために使用されるようです。