{ "id": "83310", "key": "TIMOB-6423", "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": [ { "id": "15707", "description": "2013 Sprint 23", "name": "2013 Sprint 23", "archived": true, "released": true, "releaseDate": "2013-11-15" }, { "id": "15709", "description": "2013 Sprint 23 Core", "name": "2013 Sprint 23 Core", "archived": true, "released": true, "releaseDate": "2013-11-15" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-11-15T22:17:14.000+0000", "created": "2011-12-01T15:10:11.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "androidbuild", "cb-verified", "qe-closed-3.2.0" ], "versions": [], "issuelinks": [ { "id": "31507", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "119156", "key": "TIMOB-14973", "fields": { "summary": "Android Build: Validate command line arguments and tiapp.xml settings", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } }, { "id": "31420", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "119165", "key": "TIMOB-14980", "fields": { "summary": "Android Build: Package and sign app", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2013-12-12T01:22:15.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" }, { "id": "10207", "name": "Tooling" } ], "description": "The ADT supports packaging an apk using a specific keystore/password and a key/password. It appears that we require both the keystore and alias passwords to be the same. When I run the builder.py script using the correct keystore password, but use a alias with a different password, the script hangs.", "attachment": [ { "id": "43949", "filename": "mykeystore", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2013-11-15T10:45:45.000+0000", "size": 1370, "mimeType": "application/octet-stream" }, { "id": "43950", "filename": "testkeystore", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2013-11-15T10:45:45.000+0000", "size": 1368, "mimeType": "application/octet-stream" } ], "flagged": false, "summary": "Android: Build should accept an alias password", "creator": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "174525", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Why is this needed. I believe our signing guide tells them to use the same password. ", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-01T18:25:40.000+0000", "updated": "2011-12-01T18:25:40.000+0000" }, { "id": "174564", "author": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "body": "It provides additional security and flexibility to our users. If this is something that you don't intend to add, then we should at least return some error or response, instead of just hanging", "updateAuthor": { "name": "nle", "key": "nle", "displayName": "Nam Le", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-12-02T07:44:18.000+0000", "updated": "2011-12-02T07:44:18.000+0000" }, { "id": "279748", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Pull request: https://github.com/appcelerator/titanium_mobile/pull/4980\n\nTo test:\n\n1) create an Android project using Studio or the CLI\n2) copy attached keystores to your computer\n3) perform the following builds below\n\nAttached keystore info:\n{code}\nmykeystore\nstore password = 123123\nalias = myalias\nno key password\n{code}\n\n{code}\ntestkeystore\nstore password = 123123\nalias = testalias\nkey password = 456456\n{code}\n\nNOTE: --output-dir has been omitted, but is still required. You will be prompted for the output dir in each scenario below.\n\nTest 1) mykeystore: No keystore args\n{code}\nti build -p android -T dist-playstore\n\nWhere is the keystore file used to sign the app?: /path/to/mykeystore\n\nWhat is the keystore's password?: \n[ERROR] Keystore was tampered with, or password was incorrect\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n[ERROR] Bad key password\n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 2) mykeystore: Bad --keystore\n{code}\nti build -p android -T dist-playstore --keystore ~/badkeystore\n\n[ERROR] Invalid keystore file\n\nWhere is the keystore file used to sign the app?: /path/to/keystore\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 3) mykeystore: Good --keystore, missing --store-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/mykeystore\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 4) mykeystore: Good --keystore, bad --store-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/mykeystore --store-password foo\n\n[ERROR] Keystore was tampered with, or password was incorrect\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 5) mykeystore: Good --keystore and --store-password (won't prompt for --key-password since mykeystore doesn't have one)\n{code}\nti build -p android -T dist-playstore --keystore /path/to/mykeystore --store-password 123123\n\n... should build successfully\n{code}\n\nTest 6) testkeystore: No keystore args\n{code}\nti build -p android -T dist-playstore\n\nWhere is the keystore file used to sign the app?: /path/to/testkeystore\n\nWhat is the keystore's password?: \n[ERROR] Keystore was tampered with, or password was incorrect\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n[ERROR] Bad key password\n\nWhat is the keystore's key password? (leave blank to use the store password): \n[ERROR] Bad key password\n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 7) testkeystore: Good --keystore, missing --store-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/testkeystore\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 8) testkeystore: Good --keystore, bad --store-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/testkeystore --store-password foo\n\n[ERROR] Keystore was tampered with, or password was incorrect\n\nWhat is the keystore's password?: \n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 9) testkeystore: Good --keystore and --store-password, missing --key-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/mykeystore --store-password 123123\n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 10) testkeystore: Good --keystore and --store-password, bad --key-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/mykeystore --store-password 123123 --key-password foo\n\n[ERROR] Bad key password\n\nWhat is the keystore's key password? (leave blank to use the store password): \n\n... should build successfully\n{code}\n\nTest 11) testkeystore: Good --keystore, --store-password, and --key-password\n{code}\nti build -p android -T dist-playstore --keystore /path/to/mykeystore --store-password 123123 --key-password 456456\n\n... should build successfully\n{code}", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2013-11-15T09:56:35.000+0000", "updated": "2013-11-15T09:56:35.000+0000" }, { "id": "283912", "author": { "name": "sdowse", "key": "sdowse", "displayName": "Samuel Dowse", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified fixed on:\nMac OSX 10.9 Mavericks\nAppcelerator Studio, build: 3.2.0.201312101708\nTitanium SDK, build: 3.2.0.v20131210191510\nCLI: 3.2.0-cr\nAlloy: 1.3.0-cr\n\nRan all the test cases provided in the comments.\nAll examples ran as expected.\nClosing.", "updateAuthor": { "name": "sdowse", "key": "sdowse", "displayName": "Samuel Dowse", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-12T01:21:58.000+0000", "updated": "2013-12-12T01:21:58.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }