{ "id": "104938", "key": "AC-2604", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2012-11-28T00:20:16.000+0000", "created": "2012-11-14T07:38:58.000+0000", "labels": [ "android", "apk", "build", "distribution", "js", "package", "triage" ], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:41:41.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "I realised a few days ago that when building an apk on android, everything is visible just as it is in the project directory.\r\nWhat it means is that anyone can take the apk, copy its content to a new project folder and simply copy your application!!!!\r\nThis is really bad.\r\nI mean it s ok in some cases but most my client wouldn't like that at all!\r\n\r\nThis is a critical bug. A solution needs to be find very quickly", "attachment": [], "flagged": false, "summary": "Android: All js files are visible in built apk", "creator": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "environment": "Titanium 3.1.0 master\r\nandroid sdk 16\r\n", "comment": { "comments": [ { "id": "228150", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "I am sorry to bump this so quickly. But this is a critical problem. I have a lot of clients who would just refuse to use Titanium just because of this!", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2012-11-21T07:53:18.000+0000", "updated": "2012-11-21T07:53:18.000+0000" }, { "id": "228301", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This only happens with 3.1.0 master? What about other (stable) TiSDK versions?", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-21T22:09:07.000+0000", "updated": "2012-11-21T22:09:07.000+0000" }, { "id": "228335", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "I just tested and i can confirm that it s the same on 2.1.4.GA\nYou can create a simple project.\nThen build.\nEither look in the apk ->assets\nor in the build->android->bin->assets\n\nYou can see your app.js in it.\n", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2012-11-22T09:37:04.000+0000", "updated": "2012-11-22T09:37:04.000+0000" }, { "id": "228379", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Ok, thanks. I'd like to pinpoint where this changed, was it working as expected before? What about 2.1.3 GA, or 2.1.2 GA?", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-25T21:30:06.000+0000", "updated": "2012-11-25T21:30:06.000+0000" }, { "id": "228392", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "Actually i discovered it recently. By that i mean that i never saw it working.\nI ll have to look at the builder.py but i dont remember seeing anything about compile js like i see in the ios builder.", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2012-11-26T08:26:43.000+0000", "updated": "2012-11-26T08:26:43.000+0000" }, { "id": "228682", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I also tested and confirmed this on all SDK versions. However, I'm not sure if the same applies for the APK built for distribution. If you have android keystores to test this, it would help, if not I'll see if I can create a dummy keystore. Thanks.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-27T19:27:55.000+0000", "updated": "2012-11-27T19:27:55.000+0000" }, { "id": "228698", "author": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Martin are you building to device/emulator or are you packaging. The .js file will be visible if you are building to device and emulator for test, but when you package the apk for distribution you should not see the .js file", "updateAuthor": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-27T21:21:01.000+0000", "updated": "2012-11-27T21:21:01.000+0000" }, { "id": "228747", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cannot reproduce when packaging app with 2.1.4.GA 3.0.0.CI or 3.1.0.master\r\nAs Natalie pointed out, emulator/device builds contain js files mainly for development purposes such as debugging.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-28T00:20:16.000+0000", "updated": "2012-11-28T00:20:16.000+0000" }, { "id": "229037", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "Wow, thanks a lot. Just tried with a keystore and i can confirm that it works.\nSo i think we can close that bug. Sorry\n\nYet i think it would be nice to be able to build in \"distribution\" mode without a keystore.\nThe idea is that you can test the \"compiled\" js which can change a few things.\n\nWill look at it \n\nThanks", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2012-11-29T14:20:12.000+0000", "updated": "2012-11-29T14:20:12.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }