Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-14588] Android: Packaging - Can't install packaged app onto Android with Java 7

GitHub Issuen/a
TypeBug
PriorityMedium
StatusClosed
ResolutionDuplicate
Resolution Date2013-08-07T18:26:16.000+0000
Affected Version/sRelease 3.1.2
Fix Version/sn/a
ComponentsAndroid, Tooling
Labelsandroidbuild
ReporterWilson Luu
AssigneeChris Barber
Created2013-07-11T00:07:06.000+0000
Updated2013-08-28T19:41:09.000+0000

Description

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

Comments

  1. Michael Xia 2013-07-17

    Believe this should be handled on the CLI/platform end. Here is the command Studio calls:
       "/usr/local/bin/titanium" "--no-colors" "--no-prompt" "build" "--platform" "android" "--sdk" "3.1.1.GA" "--log-level" "trace" "--target" "dist-playstore" "--android-sdk" "/Library/android-sdk" "--alias" "android" "--keystore" "/Users/mxia/Desktop/android.key" "--password" "**********" "--output-dir" "/Users/mxia/Desktop/Android" "--api-level" "10"
       
    The command contains the necessary info for running the jarsigner command (keystore location and alias).
  2. Neeraj Gupta 2013-07-18

    I would argue that it should be a high priority issue and not a medium priority issue.
  3. Chris Barber 2013-08-07

    Dupe of TIMOB-5010.

JSON Source