I can't sign my app for release

Built my first little app using the Corona flavor of lua, but I can't seem to get it signed with my key. I've used this key hundreds of times for over 50 published apps so I know it's fine. And I can use the debug key included with the Corona SDK. But when I build for release and point to my keystore, I get the following message every time.

Keystore was tampered with, or password was incorrect

I've tried over and over, rebooted, closed everything, stood on my head, sang the national anthem - nothing works when I use my key.

help?

Richard

Is this for Android? What version of Corona SDK? Does it build an apk?

Is there any output in Console.app, or if you launch from the Corona Terminal, in the terminal console?

Yes, for Android. It builds the APK file using the debug key for android. SDK version is latest from your website as of Tuesday of this week. I put the error message from the console above but I'll repaste it here as well;
Keystore was tampered with, or password was incorrect

The key signs apps just fine using Eclipse with Android SDK so I have no idea what the issue could be other than the Corona signing process. I get as far as putting in the password for the alias and it then it begins to build but it never completes.

Please download the latest version as of today and try it there.

Eric, are you telling me the SDK changes that quickly? I JUST downloaded it two days ago..
I'll do as you instructed and hope for the best!
Thanks
Richard

The previous beta 8 was released a few weeks ago, so you must have started somewhere in the middle?

Downloaded it (again) same file name as I got a couple days ago, but none-the-less I installed and rebooted. I built my app with the exact same error.
From the console logger:
jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect

I would believe this error to be true if my key didn't work in eclipse and over the past year.

Richard

Just one more note, I just performed a test build in Eclipse using this exact same key and as expected it signed just fine and exported to APK..

Richard

Ok. Can you try one thing -- rename the directory the main.lua is in. If that works, then somehow the password stored in the keychain is wrong. You can reset those by opening the app "Keychain Access", choosing Passwords, and deleting the application passwords whose name are "com.anscamobile.ratatouille".

I'll file a bug on this matter.

Nope, didn't work. I renamed the folder and got the same error.

Does Corona ask you for the password?

What is the actual path to the keystore you are using? Can you try moving the keystore to a different folder and re-choose the new path in the Build dialog?

Can you open terminal and run "java -version" and report what it says?

One more thing to try, can you use the debug keystore, then manually resign the apk in terminal with

jarsigner -keystore yourkeystore yourapp.apk youralias

I tried moving the keystore folder but that didn't work either.
Here is my java version:
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)

Next I will try building with the debug key, then resigning it using my own private key.

Richard

Reassigning appears to work but I don't want to go through the processing of building once using the Corona emulator and signing using a debug key, then re-signing from a command line using my private key, then zip-aligning the apk just to get a "good" signed build. For instance, I went through this entire process and have no icon file for my app now :)
I followed the guidelines you guys have set forth in the "building an app for Android" reference section as well.
Anyway, the marketplace still awaits my apk upload, but I got nothing because of Corona :(

It really shouldn't be this difficult..

Richard

You're right, it shouldn't be that difficult. We haven't seen this elsewhere. Corona internally just uses jarsigner, so there is something else that is making it fail. I'd like to solve your problem.

Since you can sign manually and with eclipse, I suspect something is going wrong with the keystore password. Is Corona asking you to enter the password for the keystore?

Are you open to running a private build that would log more debugging info? Please send an email to support@anscamobile.com and we'll prepare it for you.

I don't know if you were ever informed that I finally found the signing issue. My key password was strong (using @ symbol and some $$ symbols.) While it worked in Eclipse, Corona signing process didn't play nice with it. Changing to a new password that wasn't as strong fixed the issue - though it sorta created a security hole in my key..

Richard

i'm having a more basic issue of finding a keystore for production. I can't seem to find the keytool app anywhere, i guess the newest version of the android SDK doesn't come with it?

I believe it's built into Mac OS:

% which keytool
/usr/bin/keytool

its not built into my mac osx.

% which keytool
-bash: fg: %: no such job

You don't type the %, that's the command prompt...

ok but dont you have to have a key already to "import"? i am confused where to create or get this key from. I dont see anything in the documentation regarding this.

Do you know what this error might mean while trying to make a build?

jarsigner error: java.lang.RuntimeException: certificate exception: java.io.IOException: Parse Generalized time, invalid format
jarsigner error: java.lang.RuntimeException: certificate

views:3378 update:2011/10/9 22:34:50
corona forums © 2003-2011