building with cordova для android создает неправильный код версии

выполнив команду cordova build --release android создает apk, который имеет код версии 70. в config.xml-файл, для виджета я установил его как

<widget id="com.example.myapp"
        android-versionCode="7"
        version="0.9.1"
        >

как получить cordova-cli для создания apk с кодом версии 7?

под управлением aapt.exe l -a на сгенерированном apk показывает A: android:versionCode(0x0101021b)=(type 0x10)0x46 0x46 будучи 70, если я jarsigner apk, и zipalign и загрузить, google также говорит мне, что код версии 70.

2 ответов


Я нашел ответ на свою проблему в этом разделе platforms/android/build.gradle в строке 178,

versionCode cdvVersionCode ?: Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode") + "0")

в конце это + "0" таким образом, поворачивая мой код версии от 7 до 70. Удаление + "0" В конце и изменение строки 178 на следующее решили эту проблему.

versionCode cdvVersionCode ?: Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode"))

под управлением aapt.exe l -a на сгенерированном apk теперь показывает A: android:versionCode(0x0101021b)=(type 0x10)0x7


У меня была такая же проблема, я использую Cordova 4.3.0. Мой код версии в AndroidManifest.xml был "1 "и versionCode в.АПК проходил как "12". Если вы посмотрите на фрагмент кода после строки, на которую ссылаетесь, построение нескольких версий добавит "2" для arm7 и "4" для x86. Я вроде как понимаю, почему это было сделано, но мне кажется, что лучше позволить разработчикам определить код версии, который они хотят.