0

32bit(armeabi-v7aおよびx86)および64bit(arm64-v8aおよびx86_64)の両方のプラットフォーム用にionic/cordovaアプリケーションを構築する必要があります。私はすべてが(0.0.11に設定されたバージョン用)versionCodeが少しオフであることを除いてうまくいけコマンドionic build android --releaseionic build android --release --xwalk64bit を使用して4つの別々のAPKを構築 - wrong versionCodesクロスウォークを使用した32ビットおよび64ビットプラットフォームの複数のAPKを構築する場合、正しくないAPKのバージョンコードの順序

下回っ問題は、x86とx86_64が高くなければならないということである見ますversionCode、次にARM apks。これは、x86デバイスがARMライブラリを処理でき、x86ライブラリを処理できるARMデバイスがないために必要です。したがって、x86 APKのバージョンコードをARM apkのバージョンコードより高くして、正しいAPKを正しいデバイスに移動する必要があります。 correct versionCodes

問題下記参照versionCodeが両方build.gradleによって設定され、横断歩道で修正されていることである - ここで

は私が探して(と私は最終的に作成するために管理するもの)だものですmobile-xwalk.gradleこれは上記のビルド方法を使って間違ったバージョンを提供します。私は config.xmlのアンドロイド-versionCodeのparamを使用して build.gradleのためcdvVersionCodehttp://cordova.apache.org/docs/en/6.x/guide/platforms/android/index.html#configuring-gradleを参照)が、運を使ってversionCodeを設定しようとしました。

手動でmobile-xwalk.gradleを変更して、64bit apkの正しいバージョンコードを設定して問題を解決します(私の2番目のスクリーンショットに示すように)。これは私のための最適なソリューションのようには見えません

質問 - この問題に近づく方法はありますか?

答えて

2

cordova-plugin-crosswalk-webviewにバグがあるようです。 (32ビットを構築するために使用される)プラットフォーム/アンドロイド/ build.gradleからこのコード部:ここ

productFlavors { 
     armv7 { 
      versionCode defaultConfig.versionCode*10 + 2 
      ndk { 
       abiFilters "armeabi-v7a", "" 
      } 
     } 
     x86 { 
      versionCode defaultConfig.versionCode*10 + 4 
      ndk { 
       abiFilters "x86", "" 
      } 
     } 
     all { 
      ndk { 
       abiFilters "all", "" 
      } 
     } 
    } 

あるversionCode * 10見られるように ...そして、プラットフォームから、このコードの一部/アンドロイド/コルドバ(64ビット版を構築するために使用される)-plugin-横断歩道-のWebView/YOUR_APP_SUFFIX -xwalk.gradle:

productFlavors { 
      x86_64 { 
       versionCode defaultConfig.versionCode + 6 
       ndk { 
        abiFilters "x86_64", "" 
       } 
      } 
      arm64 { 
       versionCode defaultConfig.versionCode + 9 
       ndk { 
        abiFilters "arm64-v8a", "" 
       } 
      } 
     } 

、ここでは単にversionCodeです。 xwalk.gradle 以下のようになります - だから私は通常、私は私のプラットフォーム/アンドロイド/コルドバ - プラグイン - 横断歩道-のWebView/** YOUR_APP_SUFFIX **があることを除いて同じことをやったPlayMarketが

+0

を発行解決するために* versionCodeに10秒のファイルを変更します.... x86_64の{ versionCode defaultConfig.versionCode + 90077 ... arm64 { versionCode defaultConfig.versionCode + 90075 .... –

+0

またはあなたのアプローチを使用して、私は場合は、以下のアンドロイド{ でこの問題を解決するために管理(xwalk64bit!= null){ productFlavors { x86_64 { versionCode defaultC onfig。versionCode * 10 + 1 - 6 NDK {abiFilters "x86_64の"、 ""} } arm64 { versionCode defaultConfig.versionCode * 10 + 9から6 NDK {abiFilters "arm64-v8a"、 "" } } } } } –

関連する問題