10

私のアプリは、Cordova と Crosswalk で開発/公開されています。Crosswalk は、ARM cpu 用の apk と x86 cpu 用の apk を生成します。

現在、ARM apk を Play ストアにアップロードしてから x86 の apk をアップロードしようとすると、アップロードが妨げられ、同じバージョン コードの apk を 2 つ持つことはできないというメッセージが表示されます。

各apkファイルの対象となるデバイスをフィルタリングすることにより、同じバージョンのアプリケーションの複数のapkファイルをPlayストアにアップロードできるようです。

ただし、Cordova プロジェクト構造にデフォルトではないように見える「Application.mk」ファイルを使用する必要があるようです。

同じバージョン コードの ARM と x86 の両方を Play ストアにアップロードできるように、apk 内に Application.mk ファイルを含めるにはどうすればよいですか?

4

4 に答える 4

23

それは絶対に可能です。 この機能は次の名前を受け取ります: 複数の APK

「Application.mk」を使用する必要はありません

プロセスは簡単です:

  1. 開発者コンソールで、詳細モードに切り替えます([ APK] タブの右上にある[詳細モードに切り替える] ボタンをクリックします。このボタンが表示されるには、少なくとも 1 つの APK をアップロードしている必要があります)。
  2. 2 つの APK をアップロードする
  3. 公開!

複数の APK を使用するにはいくつかのルールがありますが、cordova crosswalk によって生成されたファイルを使用する場合は、心配する必要はありません。

バージョン コードで説明した問題は、各アプリに異なるバージョン コードが必要なために発生します。私の場合、私は ionic フレームワーク (cordova を拡張) を使用し、ビルド プロセスで、apk ごとに異なるバージョン コードを生成したので、問題はありませんでした。それが起こらない場合は、AndroidManifest.xml ファイルでandroid:versionCodeを直接変更してみてください。私のマニフェストは次のようになります。

<manifest 
  android:hardwareAccelerated="true" 
  android:versionCode="102" 
  android:versionName="0.1.2" 
  package="br.org.yyyyyyy.xxxxxxxxxx"   
  xmlns:android="http://schemas.android.com/apk/res/android">

私の場合、arm7 apk、

アンドロイド:versionCode="102"

そしてx86 APKでは

アンドロイド:versionCode="104"

参考文献:

Android の複数の APK のドキュメント

複数の APK の維持 DOC

于 2015-04-15T17:32:28.193 に答える
0

cordova-crosswalk docでは、arm と x86 の両方で機能する apk の作成方法が説明されています。問題は、それが巨大なapkを作成することです.

本当に 2 つの apk を作成したい場合は、(まだテストしていないので申し訳ありませんが) フォルダー platform/android/jni に Application.mk ファイルを作成してみてください。

arm の場合、次の行を Application.mk に追加します。

APP_ABI := armeabi armeabi-v7a

Intel x86 の場合:

APP_ABI := x86

また、 AndroidManifest.xml を変更して、プラットフォームごとに異なるバージョンにする必要があります (提供したリンクの指示に従ってください)。

cordova build android を再度実行すると、おそらく platform/android のすべてのコンテンツが置き換えられ、変更が失われることに注意してください。

プロジェクトをビルドするには

platforms\android\cordova\build.bat -release 

それ以外の

cordova build android --release
于 2015-02-25T16:19:25.013 に答える