You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Joe Bowser (JIRA)" <ji...@apache.org> on 2017/01/17 17:17:26 UTC
[jira] [Commented] (CB-12345) Android-Target is not being overrided
[ https://issues.apache.org/jira/browse/CB-12345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15826410#comment-15826410 ]
Joe Bowser commented on CB-12345:
---------------------------------
We intentionally grab the target from project.properties to allow this to be backward compatible with Ant. The project.properties should be changed, not the gradle file.
> Android-Target is not being overrided
> -------------------------------------
>
> Key: CB-12345
> URL: https://issues.apache.org/jira/browse/CB-12345
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android
> Affects Versions: 5.4.1
> Environment: cordova-android 6.4.0
> Reporter: Derek Hang
> Labels: android, android6.0, cordova, cordova-android-osx
>
> As specified in https://cordova.apache.org/docs/en/latest/config_ref/
> android-targetSdkVersion(integer) can be used to configure the target SDK. This means that after you generate the project, it will build with this targetSDK.
> However, this is not the case.
> As a result, the ability to override the gradle files via either
> gradle.properties
> cdvCompileSdkVersion=23
> cdvBuildToolsVersion="23.0.3"
> build-extras.gradle
> ext.cdvCompileSdkVersion = 23
> ext.cdvBuildToolsVersion = "23.0.3"
> does not work. It will always try to use the hard coded target which is android-25 to build the project. It will try to download the SDK and then build it.
> Details
> -----------------
> In the CordovaLib/project.properties it hardcodes a target target=android-25. As a result, in CordovaLib/cordova.gradle
> String doGetProjectTarget() {
> def props = new Properties()
> file('project.properties').withReader { reader ->
> props.load(reader)
> }
> return doEnsureValueExists('project.properties', props, 'target')
> }
> will always return android-25.
> What this means is that in the CordovaLib/build.gradle
> ext {
> apply from: 'cordova.gradle'
> cdvCompileSdkVersion = privateHelpers.getProjectTarget()
> cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools()
> }
> The target will always be 25.
> You can see this if you add the gradle task to the file
> task cdvPrintPropsSubTest << {
> println('buildsdk=' + privateHelpers.findLatestInstalledBuildTools())
> println('target=' + privateHelpers.getProjectTarget())
> println('cdvCompileSdkVersion=' + cdvCompileSdkVersion)
> println('cdvBuildToolsVersion=' + cdvBuildToolsVersion)
> println('cdvVersionCode=' + cdvVersionCode)
> println('cdvMinSdkVersion=' + cdvMinSdkVersion)
> println('cdvBuildMultipleApks=' + cdvBuildMultipleApks)
> println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile)
> println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile)
> println('cdvBuildArch=' + cdvBuildArch)
> println('computedVersionCode=' + android.defaultConfig.versionCode)
> android.productFlavors.each { flavor ->
> println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode)
> }
> }
> The workaround is to modify the generated files, but this defeats the purpose of being able to regenerate the code without having to worry about custom modifications to it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org