[
https://issues.apache.org/jira/browse/CB-8976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403892#comment-15403892
]
Thiago Flessak commented on CB-8976:
------------------------------------
I understand this change, but I think it's not a minor update (as it was
released in 5.2.0) because it will break if you already have an App published.
The old versioning model always appended a 0 at the end, making the version 10x
greater.
After 5.2.0 a non-crosswalk apk will be 10x lower!
As mentioned, this can be solved using a custom hook.
Following is the after_prepare hook I use for android platform (based on
Rhett's). Maybe this could help someone else.
{code:javascript}
var path = require('path'),
fs = require('fs');
module.exports = function(context) {
var et = context.requireCordovaModule('elementtree'),
manifestPath = path.join(context.opts.projectRoot, 'platforms',
'android', 'AndroidManifest.xml'),
manifestContents = fs.readFileSync(manifestPath, { encoding: 'utf8' }),
manifest = et.parse(manifestContents),
versionCode = manifest.getroot().get('android:versionCode') + '',
buildExtrasPath = path.join(context.opts.projectRoot, 'platforms',
'android', 'build-extras.gradle');
if
(context.opts.cordova.plugins.indexOf('cordova-plugin-crosswalk-webview') ===
-1) {
versionCode += '9';
}
fs.writeFileSync(buildExtrasPath, "ext.cdvVersionCode=" + versionCode, {
encoding: 'utf8' });
};
{code}
> platforms/android/build.gradle modifies android versionCode
> -----------------------------------------------------------
>
> Key: CB-8976
> URL: https://issues.apache.org/jira/browse/CB-8976
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android
> Environment: Android
> Reporter: zack dykes
> Assignee: Joe Bowser
> Priority: Minor
>
> cordova 5.0.0
> platforms/android/build.gradle modifies android versionCode at ln 178
> as I understand it max size for versionCode is (2^31)-1
> http://stackoverflow.com/a/24246191/126600
> in my config.xml:
> {code}
> android-versionCode="1385039613"
> {code}
> when I run {{cordova build android}}, I get:
> {code}
> FAILURE: Build failed with an exception.
> * Where:
> Build file
> '/Users/zackd/dev/code/cordova/cordova-ansr-fat-client/ondeviceresearch/platforms/android/build.gradle'
> line: 178
> * What went wrong:
> A problem occurred evaluating root project 'android'.
> > For input string: "13850396130"
> {code}
> and build.gradle, ln 178
> {code}
> versionCode cdvVersionCode ?: Integer.parseInt("" +
> privateHelpers.extractIntFromManifest("versionCode") + "0")
> {code}
> looks like this is appending "0" to my versionCode, producing 13850396130
> which is larger than max size for android versionCode
> if I mod ln 178 as follows, build succeeds
> {code}
> versionCode cdvVersionCode ?: Integer.parseInt("" +
> privateHelpers.extractIntFromManifest("versionCode"))
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]