Details:
If you have Java 7 on your computer and packaged your Titanium app for the Play Store, *INSTALL_PARSE_FAILED_NO_CERTIFICATES* is returned if you try to install the packaged app to an Android device.
*This does not affect machines that have Java 6.*
Here is the Q&A thread:
http://developer.appcelerator.com/question/151653
Here is the referenced workaround:
http://developer.android.com/tools/publishing/app-signing.html#signapp
Steps to reproduce:
1. In Titanium Studio, create a default app
2. Select the app and go to *Publish > Distribute - Android App Store*
3. Fill out the required fields and press publish
4. After app is packaged, open terminal and cd to where the packaged app is
5. Plug in an Android device and run the following command: *adb install
.apk*
Actual:
[INSTALL_PARSE_FAILED_NO_CERTIFICATES] is returned:
$ adb install testThePackage.apk
3122 KB/s (6101612 bytes in 1.908s)
pkg: /data/local/tmp/testThePackage.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Expected:
Should be able to install app to Android device after Titanium Studio packages it for the Play Store.
Note:
To workaround this issue:
1. Run the following command: *jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore .keystore .apk *
2. Enter your keystore's password
3. Install the app to Android device again
Believe this should be handled on the CLI/platform end. Here is the command Studio calls:
The command contains the necessary info for running the jarsigner command (keystore location and alias).
I would argue that it should be a high priority issue and not a medium priority issue.
Dupe of TIMOB-5010.