2015-02-24 11 views
10

La mia app è sviluppata/pubblicata con Cordova e Crosswalk. Crosswalk genera un apk per cpu ARM e un altro per cpu x86.Come posso pubblicare su Play Store gli apri x86 e ARM della mia app cordova-crosswalk?

Al momento, quando carico il mio apk ARM nel Play Store e poi provo a caricare il x86, mi impedisce di farlo e visualizzo un messaggio che dice che non posso avere due apk con lo stesso codice di versione .

It seems it's possible to upload on the play store multiple apk files for the same version of an application byt filtering the devices targetted by each apk file.

Tuttavia, sembra richiedere l'utilizzo di un file "Application.mk" che la struttura del progetto Cordova non sembra avere per impostazione predefinita.

Come posso includere un file Application.mk nei miei apk in modo che sia ARM che x86 con lo stesso codice di versione siano caricabili nel Play Store?

risposta

0

Il cordova-crosswalk doc indica come creare un apk che funzioni per arm e x86. Il problema è che fa un enorme apk.

Se davvero si vuole fare due APKs, si può provare (purtroppo non ancora testato) per creare il file Application.mk nella cartella piattaforme/android/jni

per braccio si sarebbe messo questa linea in Application.mk:

APP_ABI := armeabi armeabi-v7a 

E per Intel x86:

APP_ABI := x86 

E devi cambiare AndroidManifest.xml di avere una versione diversa per ogni piattaforma (seguendo le istruzioni del collegamento fornito).

Attenzione, se esegui cordova build android di nuovo, probabilmente sostituirà tutto il contenuto di piattaforme/android e le tue modifiche andranno perse.

Costruire utilizzare il progetto

platforms\android\cordova\build.bat -release 

invece di

cordova build android --release 
21

E 'absolutily possibile. Questa caratteristica receve il nome di: multipla APK

Non è necessario utilizzare il 'Application.mk'

Il processo è semplice:

  1. In Console per gli sviluppatori , passare alla modalità avanzata (fare clic sullo switch in modalità avanzata in alto a destra nella scheda APK - nota che è necessario aver caricato st un APK per quel pulsante per apparire)
  2. Carica i due APK
  3. Pubblica!

Esistono alcune regole per utilizzare più APK, ma se si utilizzano i file generati da crosswalk cordova, non si ha nulla di cui preoccuparsi.

Il problema che hai descritto con codice della versione, accade Allucinante ogni app deve avere un diverso codice di versione. Nel mio caso, uso framework ionico (estende Cordova) e nel processo di compilazione, ha generato un codice di versione differente per ciascun apk, quindi non ho avuto problemi. Se non dovesse accadere per te, puoi provare a cambiare de android : versionCode direttamente sul file AndroidManifest.xml. Ecco come il mio manifesto appare come:

<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"> 

Nel mio caso, l'apk ARM7, l'androide

: versionCode = "102"

E x86 apk del

android: versionCode = "104"

Riferimenti:

Android Multiple APKs DOC

Maintaining Multiple APKs DOC

1

`m facendo modo semplice. Esempio il tuo codice v principale è 102, quindi puoi costruire il primo braccio con il codice 102 v e caricare. Fino all'esecuzione del caricamento, puoi passare a modificare il codice v in manifest e in build grade a 103 e crearne un altro x86. Facile e semplice

1

Penso che le cose siano cambiate nell'ultimo anno. Ho usato lo stesso codice di versione e caricato entrambi gli apk (uno alla volta - nel modo normale). Google Play ha rilevato automaticamente che erano indirizzati a piattaforme native diverse e ha consentito l'inserimento di entrambi in produzione.