{ "id": "168950", "key": "TIMOB-25047", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-03-20T16:32:35.000+0000", "created": "2017-07-14T10:35:17.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-03-20T16:32:35.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [], "description": "When building / recompiling a native module, the output indicates that it may not be *fully* supporting later Android toolsets, or that internal config is searching for a _default_.\r\n\r\nFrom *ti config*, if you have set your Android build tools as this:\r\n{code}\r\nandroid.buildTools.selectedVersion = \"25.0.3\"\r\n{code}\r\n\r\nIt does not seem to affect the version of the *android.jar* that is referenced, only the *aapt* version. As an example, output like this is seen from the command: *ti build -p android --build-only*\r\n\r\n{code}\r\nRunning AAPT command: /path/to/AndroidSDKs/for/Titanium/build-tools/25.0.3/aapt package -f -I /path/to/AndroidSDKs/for/Titanium/platforms/android-23/android.jar -M /path/to/native/module/being/built/android/build/intermediates/manifests/aapt/AndroidManifest.xml -S /path/to/native/module/being/built/android/build/intermediates/res/merged -m -J /path/to/native/module/being/built/android/build/generated/r --custom-package com.nativemodule.namespace --non-constant-id -0 apk --output-text-symbols /path/to/native/module/being/built/android/build/intermediates/bundles --no-version-vectors --extra-packages android.support.v7.appcompat:android.support.v7.cardview:ti.modules.titanium.ui\r\n{code}\r\n\r\nAnd output like this, is seen from the alternative *appc run -p android --build-only* command:\r\n\r\n{code}\r\n[INFO] Building Java source files: /Library/Java/JavaVirtualMachines/jdk_version.jdk/Contents/Home/bin/javac \"-J-Xmx256M\" \"-encoding\" \"utf8\" \"-d\" \"/path/to/native/module/being/built/android/build/classes\" \"-classpath\" \"/path/to/AndroidSDKs/for/Titanium/platforms/android-23/android.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/lib/closure-compiler.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/lib/titanium-debug.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/lib/titanium-profiler.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/lib/titanium-verify.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-accelerometer.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-analytics.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-android.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-app.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-appcompat.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-calendar.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-cardview.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-contacts.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-database.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-filesystem.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-geolocation.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-gesture.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-locale.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-map.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-media.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-network.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-platform.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-ui.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-utils.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/modules/titanium-xml.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-animated-vector-drawable.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-annotations.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-multidex.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-v4-internal_impl.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-v4.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-v7-appcompat.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/android-support-vector-drawable.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/aps-analytics.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/cardview-v7-23.4.0.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/freemarker.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/jaxen-1.1.1.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/json_simple-1.1.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/kroll-apt.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/kroll-common.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/kroll-v8.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/nineoldandroids-appc-2.4.0.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/ti-commons-codec-1.3.jar:/path/to/Titanium/sdk/osx/6.1.1.GA/android/titanium.jar:/path/to/native/module/being/built/android/lib/included.jar\" \"-target\" \"1.6\" \"-g\" \"-source\" \"1.6\" \"@/path/to/native/module/being/built/android/java-sources.txt\"\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Output from building a native Android module indicates that incorrect API levels are being used", "creator": { "name": "plancaster", "key": "plancaster", "displayName": "Peter Lancaster", "active": true, "timeZone": "Europe/London" }, "subtasks": [], "reporter": { "name": "plancaster", "key": "plancaster", "displayName": "Peter Lancaster", "active": true, "timeZone": "Europe/London" }, "environment": "Ti SDK 6.1.1.GA\r\nAppcelerator CLI 6.2.2\r\nNode 4.6.2\r\nAndroid SDK Platform-tools 25.3 / 24.2 / 23.3", "comment": { "comments": [ { "id": "424255", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~plancaster] I'm not sure I understand the issue? The Android build-tools version is not the same as the Android SDK API version being targeted.\r\n\r\nIf you want to specify a different Android SDK API target (e.g: 25) add this to your {{timodule.xml}}\r\n\r\n{code:xml}\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n{code}", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-18T03:56:56.000+0000", "updated": "2017-07-18T03:56:56.000+0000" }, { "id": "424262", "author": { "name": "plancaster", "key": "plancaster", "displayName": "Peter Lancaster", "active": true, "timeZone": "Europe/London" }, "body": "Hi Gary,\r\n\r\nThanks for your response - however, tests indicated that changing the manifest to target anything above 23 didn't make a difference to the android jars being referenced in the CLI output.\r\n\r\nOther questions asked have indicated that Titanium / Appc does not fully support Android API levels above 23 currently - so at this point, we'd just like to understand why android-23 appears in the build output, when several other API levels (above and below) are present in the same location. Does the build default to using android-23? Is there something hardcoded somewhere?", "updateAuthor": { "name": "plancaster", "key": "plancaster", "displayName": "Peter Lancaster", "active": true, "timeZone": "Europe/London" }, "created": "2017-07-18T07:55:05.000+0000", "updated": "2017-07-18T07:55:05.000+0000" }, { "id": "424287", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~plancaster] We target the highest Android API we support, which is currently 23. You _can_ specify a higher (or lower) target API using the snippet I provided above, but you could run into issues when targeting a higher unsupported API.", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-18T15:37:24.000+0000", "updated": "2017-07-18T15:51:19.000+0000" }, { "id": "424367", "author": { "name": "plancaster", "key": "plancaster", "displayName": "Peter Lancaster", "active": true, "timeZone": "Europe/London" }, "body": "Probably worth noting, at the original point of logging this ticket - the docs indicated support for API level 25 (but this has now been amended).\r\n\r\nWhat we're interested in particularly here though - is whether there's a hardcoded reference to android-23 somewhere, or whether that specific version of the SDK is being used for something specific (as it contains the *android* keyword for example)?", "updateAuthor": { "name": "plancaster", "key": "plancaster", "displayName": "Peter Lancaster", "active": true, "timeZone": "Europe/London" }, "created": "2017-07-19T15:05:04.000+0000", "updated": "2017-07-19T15:05:04.000+0000" }, { "id": "424455", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~gmathews] Can we update the docs ? ", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-20T16:17:01.000+0000", "updated": "2017-07-20T16:17:01.000+0000" }, { "id": "435766", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Documentation update to reflect this. Closing.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-03-20T16:32:29.000+0000", "updated": "2018-03-20T16:32:29.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }