{ "id": "171284", "key": "TIMOB-25852", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": [ { "id": "20115", "name": "Release 7.3.0", "archived": false, "released": true, "releaseDate": "2018-08-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-05-11T20:32:00.000+0000", "created": "2018-03-09T19:13:21.000+0000", "epic": { "id": 168063, "key": "TIMOB-24764", "name": "Android O: Implement support", "summary": "Android O: Implement support", "color": { "key": "color_8" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [ "android", "android-8", "demo_app" ], "versions": [], "issuelinks": [ { "id": "56377", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "inwardIssue": { "id": "171309", "key": "TIMOB-25864", "fields": { "summary": "Android: Notifications should use default channel on Android 8 if not assigned", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "56418", "type": { "id": "10011", "name": "Includes", "inward": "is included by", "outward": "includes" }, "outwardIssue": { "id": "171282", "key": "TIMOB-25851", "fields": { "summary": "CLI complains about Android SDK 26 not supported while docs confirm it", "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" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "56383", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "171312", "key": "TIMOB-25865", "fields": { "summary": "Android: Build warning appears when Android build-tools v27 or higher is installed", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "56362", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "171282", "key": "TIMOB-25851", "fields": { "summary": "CLI complains about Android SDK 26 not supported while docs confirm it", "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" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "56375", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "171304", "key": "TIMOB-25860", "fields": { "summary": "Update Android Support libraries to 27.1.1", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-06-25T23:43:54.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": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Summary:*\r\nWhen building for Android, Titanium currently only supports targeting API Levels 23-25 (aka: Android 6.0 - 7.1) if not specified in the \"tiapp.xml\" file. We should increase the max API Level supported to 27 (aka: Android 8.1) once full functional/regression testing has been performed and any issues discovered have been addressed.\r\n\r\n*Changes Required:*\r\nThis involves changing the \"package.json\" file's \"android sdk\" range...\r\nfrom: {{\">=23.x <25.x\"}}\r\nto: {{\">=23.x <27.x\"}}.\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/android/package.json#L24\r\n\r\nWe should also consider updating the \"android build tools\" version range as well.\r\n\r\n*Note:*\r\nTitanium developers currently can opt-in to targeting API Level 26+ (aka: Android 8.x) in the \"tiapp.xml\" themselves as shown below.\r\n{code:xml}\r\n\r\n \r\n \r\n \t\t\r\n \r\n \r\n\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Android: Target API Level 26/27 by default", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "435479", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "In this ticket I've also included an update for the default tiapp.xml by adding the target sdk in the manifest. This is someting most people want/need and adding it to the template might be beneficial by builds not breaking when people install a newer SDK. It also tells people it is possible to select a minimum version and that targeting builds is implemented as functionality.", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-12T12:24:21.000+0000", "updated": "2018-03-12T12:24:21.000+0000" }, { "id": "435493", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "If you add the manifest part then please add {{}}, too! Since you need this for store updates it would be good to have this in the template already", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-12T16:46:07.000+0000", "updated": "2018-03-12T16:46:07.000+0000" }, { "id": "435498", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~michael] would you in that case also prefer the iOS version of that included?", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-12T17:08:08.000+0000", "updated": "2018-03-12T17:08:08.000+0000" }, { "id": "435499", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "iOS works fine by just updating the part. But on Android you HAVE to update the versionCode to in order to make an update. This is always a problem for new users because they just increase the part and see the versionCode error in the Google Console. So they have to search the part and add the in order to make the update", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-12T17:13:38.000+0000", "updated": "2018-03-12T17:13:38.000+0000" }, { "id": "435506", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This is unrelated to this ticket and should be done in an own one. Ideally by also handing the version tag correctly and auto-bump the versionCode if not manually overriden", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-12T18:23:46.000+0000", "updated": "2018-03-12T18:23:46.000+0000" }, { "id": "435514", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~topener], I don't think we should add a {{}} to the \"tiapp.xml\" template. Titanium's build system will automatically add this to the \"AndroidManifest.xml\" set to the min API Level supported and the highest target API Level supported and installed on the machine. This way it's future proof and won't cause a build failure if we increment the min API Level supported in Titanium. This means less tech-support issues.\r\n\r\nDevelopers who add a {{}} are opting-in to managing it themselves and I'm okay with them getting a build failure in the future.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-03-12T20:27:53.000+0000", "updated": "2018-03-12T20:27:53.000+0000" }, { "id": "435535", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~jquick] yeah good point! I've reverted that part of the commit ;)", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-13T09:32:39.000+0000", "updated": "2018-03-13T09:32:39.000+0000" }, { "id": "435549", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~topener], for your info, we haven't fully tested targeting API Level 26 yet. We still need to identify breaking changes before merging this PR. Our QE team is a bit behind at the moment and hasn't had time yet, but the quick test for the moment is to run though our Kitchen Sink app to see what breaks.\r\n\r\nFor example, I'm pretty sure local notifications will fail to be posted to the status bar when targeting API Level 26 and running on Android 8. This is because our core code does not assign the notification a channel. But when targeting a lower API Level, our app is put into backward compatibility mode and Android 8 will auto-assign it a default channel number. We haven't confirmed this yet, but I'm pretty sure this is true.\r\n_(Our \"ti.cloudpush\" module does not have this issue and already resolves this breaking change.)_\r\n\r\nThere may be other issues too such as this...\r\nhttps://stackoverflow.com/questions/46980697/lock-screen-orientation-when-targeting-android-api-27-with-a-non-opaque-activity\r\n\r\nWe've got a lot of testing to do, that's for sure. :)\r\nThe current release version of Titanium allows you to target API Level 26/7 now. So, if you have any interesting apps to test with, please give it a go. Thanks.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-03-13T18:28:11.000+0000", "updated": "2018-03-13T18:28:11.000+0000" }, { "id": "435555", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/9930\r\n\r\n^ This PR needs to build against the newest API Level to support the newest Google Support libraries. So, we might as well as do this all in one shot in a single PR.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-03-13T20:08:42.000+0000", "updated": "2018-03-13T20:08:42.000+0000" }, { "id": "435559", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "yep makes sense! :)", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-13T22:36:38.000+0000", "updated": "2018-03-13T22:36:38.000+0000" }, { "id": "437586", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed.\r\nPR Merged.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-11T20:31:53.000+0000", "updated": "2018-05-11T20:31:53.000+0000" }, { "id": "438693", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix in SDK 7.3.0.v20180625114905.\r\nClosing.\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-06-25T23:43:49.000+0000", "updated": "2018-06-25T23:43:49.000+0000" } ], "maxResults": 12, "total": 12, "startAt": 0 } } }