{ "id": "99002", "key": "TIMOB-10394", "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": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2012-08-10T19:54:39.000+0000", "created": "2012-08-10T09:27:29.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "SupportTeam" ], "versions": [ { "id": "13273", "description": "Release 2.0.2", "name": "Release 2.0.2", "archived": false, "released": true, "releaseDate": "2012-05-31" } ], "issuelinks": [ { "id": "19832", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "85706", "key": "TIMOB-7474", "fields": { "summary": "Android: Support selecting what ABI to target when using V8 runtime.", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-20T22:22:30.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": "h3. The Problem\r\nA packaged app is way too big.\r\n\r\nh3. Reason\r\nTwo version of V8 are shipped with the app.\r\n\r\nh3. To reproduce:\r\n1. Create a new Titanium Android app\r\n2. Build for distribution\r\n3. Change the app.apk name (extension) to app.zip\r\n4. Uncompress the app.zip\r\n5. Look inside the lib folder and you'll see two v8 folders\r\n", "attachment": [ { "id": "30414", "filename": "Hello World.apk", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-10T11:08:56.000+0000", "size": 5785759, "mimeType": "application/octet-stream" }, { "id": "30412", "filename": "Screen Shot 2012-08-10 at 12.22.41 PM.png", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-10T09:27:29.000+0000", "size": 34522, "mimeType": "image/png" } ], "flagged": false, "summary": "Android: Two versions of V8 are shipped", "creator": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "213810", "author": { "name": "mbelkin", "key": "mbelkin", "displayName": "Michael Belkin", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Apk size is hugely important for google play's rankings and customer retention (many people delete the largest apps on their phone when storage is low). Titanium apps are always huge and a 5.5mb reduction would be extremely valuable. Really hoping for an update/fix for this soon!", "updateAuthor": { "name": "mbelkin", "key": "mbelkin", "displayName": "Michael Belkin", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-10T11:40:16.000+0000", "updated": "2012-08-10T11:40:16.000+0000" }, { "id": "213864", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "body": "TIMOB-7474 is a feature to allow selecting which ABI version to package with your application. This could be used to reduce the APK size if supporting only one ABI is acceptable for your application.", "updateAuthor": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-10T14:16:08.000+0000", "updated": "2012-08-10T14:16:08.000+0000" }, { "id": "213901", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Most applications don't ship with a Javascript runtime. :) It is, of course, the very nature of Titanium that we have to do that.\r\n\r\nIt's common practice to ship both the armeabi and the armeabi-v7a versions of a library because the latter can take advantage of newer chip architectures for (possibly) better performance. However armeabi (v5) is compatible with the newer chipsets (not vice-versa), so you could get away with shipping just armeabi. We have TIMOB-7474 to create that possibility. However, making use of that opportunity (to only ship armeabi) _could_ affect performance of your app on newer devices.\r\n\r\nIf you want to do comparison testing, here is a modified version of builder.py for 2.1.1 (please backup the real one if you decide to use this). If you use this builder.py it will just package armeabi. Try it out and put your packaged app on a newer device and see if you notice performance degradation compared to the package that gets built with the shipped builder.py. With this modified builder.py you can also set an environment variable ANDROID_ARCH to either armeabi or armeabi-v7a (default, as I said, is armeabi). It will package only the one you choose.", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-08-10T15:57:48.000+0000", "updated": "2012-08-10T15:57:48.000+0000" }, { "id": "213921", "author": { "name": "arood", "key": "arood", "displayName": "Marcus Olovsson", "active": true, "timeZone": "Europe/Berlin" }, "body": "When you say that \"making use of that opportunity (to only ship armeabi) could affect performance of your app on newer devices\", what kind of performance hits are we talking about? Will it still be faster than running with rhino?\r\n\r\nThe rather extreme change in file size has made it hard for us to move beyond 1.7.X (hard to motivate the change for clients :/), so I'll definitely look forward to trying this out.", "updateAuthor": { "name": "arood", "key": "arood", "displayName": "Marcus Olovsson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-08-10T17:12:50.000+0000", "updated": "2012-08-10T17:14:21.000+0000" }, { "id": "213941", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Duplicate of TIMOB-7474.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-10T19:54:39.000+0000", "updated": "2012-08-10T19:54:39.000+0000" }, { "id": "414094", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as duplicate.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-20T22:22:30.000+0000", "updated": "2017-03-20T22:22:30.000+0000" } ], "maxResults": 12, "total": 12, "startAt": 0 } } }