{ "id": "149920", "key": "AC-267", "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": "2015-11-05T06:44:56.000+0000", "created": "2015-07-28T09:03:01.000+0000", "labels": [ "android", "build", "certificate", "java" ], "versions": [], "issuelinks": [ { "id": "49879", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "153270", "key": "AC-506", "fields": { "summary": "INSTALL_PARSE_FAILED_NO_CERTIFICATES on Android 4.2 older devices", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "updated": "2015-11-18T13:38:24.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": "14551", "name": "Studio", "description": "Please enter tickets related to Titanium Studio here." } ], "description": "If I use a signature file with signature algorithm SHA256withRSA script _build.js stores \"SHA256withRSA\" as sigalg parameter, the project build, but is impossible to install on older devices that exits with INSTALL_PARSE_FAILED_NO_CERTIFICATES error\r\n\r\nAs [documentation says|http://developer.android.com/tools/publishing/app-signing.html#signapp] -sigalg should always be \"SHA1withRSA\", so I modified line 828:\r\n\r\n\r\n{code:java}\r\nt.keystoreAliases.push({\r\n name: m[1],\r\n sigalg: \"MD5withRSA\"\r\n});\r\n{code}\r\n\r\n\r\nand it works", "attachment": [], "flagged": false, "summary": "INSTALL_PARSE_FAILED_NO_CERTIFICATES on Android 4.3 older devices", "creator": { "name": "c3k", "key": "c3k", "displayName": "carlo", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "c3k", "key": "c3k", "displayName": "carlo", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Window 7 x64 - Titanium SDK 4.1.0 - Java 1.7 / 1.8", "comment": { "comments": [ { "id": "358453", "author": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "body": "[~c3k] which file you modified? Can you please create a test case demonstrating the issue? and if you found the solution, you can create a pull request to fix it, but we need the whole information about this\r\n\r\nBest", "updateAuthor": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "created": "2015-07-28T16:51:21.000+0000", "updated": "2015-07-28T16:51:21.000+0000" }, { "id": "358492", "author": { "name": "c3k", "key": "c3k", "displayName": "carlo", "active": true, "timeZone": "Europe/Berlin" }, "body": "[here|https://www.dropbox.com/sh/7w2wp628jzqb7xl/AABY-eI3fkvq2bdcj7khX_9_a?dl=0] you can find two apk, same signature, different sigalog parameter\r\n\r\n\"KO_sigalg_SHA256withRSA.apk\" is the one that sdk 4.1.0 creates and throw INSTALL_PARSE_FAILED_NO_CERTIFICATES while installing on older device\r\n\r\nI edit 4.1.0.GA\\android\\cli\\commands\\_build.js but seems that store sigalg in keystoreAliases is useless (no other file in SDK seems to use it) and everything should work using MD5withRSA at build command (line 4117):\r\n\r\n{code:javascript}\r\nAndroidBuilder.prototype.createSignedApk = function createSignedApk(next) {\r\n //var sigalg = this.keystoreAlias.sigalg || 'MD5withRSA',\r\n signerArgs = [\r\n //'-sigalg', sigalg,\r\n '-sigalg', 'MD5withRSA',\r\n '-digestalg', 'SHA1',\r\n '-keystore', this.keystore,\r\n '-storepass', this.keystoreStorePassword\r\n];\r\n{code}\r\n\r\nI'm pretty new to this things, will be better if someone can confirm this", "updateAuthor": { "name": "c3k", "key": "c3k", "displayName": "carlo", "active": true, "timeZone": "Europe/Berlin" }, "created": "2015-07-29T10:00:17.000+0000", "updated": "2015-07-29T10:01:30.000+0000" }, { "id": "360179", "author": { "name": "hmrida", "key": "hmrida", "displayName": "Harish Mridha", "active": true, "timeZone": "Asia/Dhaka" }, "body": "We have tested this issue on our updated environment .This is not a bug .If we edit 4.1.0.GA\\android\\cli\\commands\\_build.js as like reporter , generated APK is not working on devices . It seems that store sigalg in keystoreAliases is needed . Using MD5withRSA only is not working . we get the following log :\r\n{code}\r\n[INFO] : No aidl files to compile, continuing\r\n[INFO] : Generating i18n files\r\n[INFO] : Generating /Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/res/values/theme.xml\r\n[INFO] : Packaging application: /Users/Raju/Library/android-sdk-macosx/build-tools/22.0.1/aapt \"package\" \"-f\" \"-m\" \"-J\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/gen\" \"-M\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/AndroidManifest.xml\" \"-A\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/bin/assets\" \"-S\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/res\" \"-I\" \"/Users/Raju/Library/android-sdk-macosx/platforms/android-22/android.jar\" \"-F\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/bin/app.ap_\" \"--auto-add-overlay\" \"--extra-packages\" \"ti.modules.titanium.ui:android.support.v7.appcompat\" \"-S\" \"/var/folders/47/ql8m2gld20g474cjx82w5fdr0000gp/T/115718-84330-qioa5q/res\" \"-S\" \"/var/folders/47/ql8m2gld20g474cjx82w5fdr0000gp/T/115718-84330-1azwbki/res\"\r\n[INFO] : Building Java source files: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/javac \"-J-Xmx256M\" \"-encoding\" \"utf8\" \"-bootclasspath\" \"/Users/Raju/Library/android-sdk-macosx/platforms/android-22/android.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/kroll-v8.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-analytics.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/aps-analytics.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-android.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/jaxen-1.1.1.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/ti-commons-codec-1.3.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/kroll-common.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/titanium.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-app.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-ui.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/nineoldandroids-appc-2.4.0.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-filesystem.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-media.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-appcompat.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/android-support-v4.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/android-support-v7-appcompat.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-locale.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-network.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/thirdparty.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-xml.jar:/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/lib/titanium-verify.jar:R.class:Ac267Activity.class:Ac267AppInfo.class:Ac267Application.class:ApplicationStylesheet.class:AssetCryptImpl.class\" \"-d\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/bin/classes\" \"-proc:none\" \"-target\" \"1.6\" \"-source\" \"1.6\" \"@/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/java-sources.txt\"\r\n[INFO] : Running dexer: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java \"-Xmx1024M\" \"-XX:-UseGCOverheadLimit\" \"-Djava.ext.dirs=/Users/Raju/Library/android-sdk-macosx/platform-tools\" \"-jar\" \"/Users/Raju/Library/android-sdk-macosx/build-tools/22.0.1/lib/dx.jar\" \"--dex\" \"--output=/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/bin/classes.dex\" \"/Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/bin/classes\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/lib/titanium-verify.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/kroll-v8.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-analytics.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/aps-analytics.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-android.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/jaxen-1.1.1.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/ti-commons-codec-1.3.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/kroll-common.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/titanium.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-app.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-ui.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/nineoldandroids-appc-2.4.0.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-filesystem.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-media.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-appcompat.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/android-support-v4.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/android-support-v7-appcompat.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-locale.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-network.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/thirdparty.jar\" \"/Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA/android/modules/titanium-xml.jar\"\r\n[INFO] : Creating unsigned apk\r\n[INFO] : Processing /Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/src\r\n[INFO] : Writing unsigned apk: /Users/Raju/Documents/Appcelerator_Studio_Workspace/AC267/build/android/bin/app-unsigned.apk\r\nTRACE | titanium exited with exit code 0\r\n\r\n{code}\r\n*modified code*\r\n{code}\r\n\r\nAndroidBuilder.prototype.createSignedApk = function createSignedApk(next) {\r\n //var sigalg = this.keystoreAlias.sigalg || 'MD5withRSA',\r\n signerArgs = [\r\n //'-sigalg', sigalg,\r\n '-sigalg', 'MD5withRSA',\r\n '-digestalg', 'SHA1',\r\n '-keystore', this.keystore,\r\n '-storepass', this.keystoreStorePassword\r\n];\r\n{code} \r\n\r\nTest devices :\r\n{code}\r\n1. Samsung 4.3\r\n2. Samsung Tab 4.4\r\n3 .Nexus 5.1.1\r\n{code}\r\n\r\nTest Environment\r\n{code}\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.10.3\r\n Architecture = 64bit\r\n # CPUs = 4\r\n Memory = 8589934592\r\nNode.js\r\n Node.js Version = 0.10.37\r\n npm Version = 1.4.28\r\nTitanium CLI\r\n CLI Version = 4.0.1\r\nTitanium SDK\r\n SDK Version = 4.1.0.GA\r\n SDK Path = /Users/Raju/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA\r\n Target Platform = android\r\n{code}\r\n\r\nThanks ", "updateAuthor": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2015-08-18T11:27:12.000+0000", "updated": "2015-11-05T06:44:31.000+0000" }, { "id": "370688", "author": { "name": "c3k", "key": "c3k", "displayName": "carlo", "active": true, "timeZone": "Europe/Berlin" }, "body": "There's a sintax error in the code I've posted, sorry.\r\n\r\nDecomment first of two commented line:\r\n{{\r\nAndroidBuilder.prototype.createSignedApk = function createSignedApk(next) {\r\n\r\n var sigalg = this.keystoreAlias.sigalg || 'MD5withRSA',\r\n\r\n signerArgs = [\r\n\r\n //'-sigalg', sigalg,\r\n\r\n '-sigalg', 'MD5withRSA',\r\n\r\n '-digestalg', 'SHA1',\r\n\r\n '-keystore', this.keystore,\r\n\r\n '-storepass', this.keystoreStorePassword\r\n\r\n];\r\n}}\r\n\r\nAlernative mod in the same file on line 796:\r\n{{\r\n_t.keystoreAliases.push({\r\n name: m[1],\r\n sigalg: \"MD5withRSA\"\r\n});\r\n}}\r\n\r\nI've compiled new test app and I confirm the problem with Titanium SDK 5.0.2.\r\n\r\nTry \"Fiorentinanews_sdk_5.0.2_orginal.apk\" from my [Dropbox folder|https://www.dropbox.com/home/_tmp/AC-267/new%20tests%20november%202015%20sdk%205.0.2] on a 4.2 or lower emulator.\r\n\r\nApps compiled with the modiefied code are on [Play|https://play.google.com/store/apps/details?id=com.fiorentinanews.app] [Store|https://play.google.com/store/apps/details?id=it.jn24.app] and have 1000+ installs, 25% from 4.2 and lower devices.", "updateAuthor": { "name": "c3k", "key": "c3k", "displayName": "carlo", "active": true, "timeZone": "Europe/Berlin" }, "created": "2015-11-18T13:35:11.000+0000", "updated": "2015-11-18T13:35:11.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }