What's wrong?
Unable to install APK!
pkg: /data/local/tmp/Package.apk
With a short time to search I found many results about Unity and JDK 1.7 can't sign correctly. Like:
http://answers.unity3d.com/questions/121617/installation-of-signed-android-build-fails.html and http://answers.unity3d.com/questions/280791/cant-install-android-app-after-signing.html
But no solutions and to do a downgrade on JDK 1.7 not solve for me.
I think that bug is Unity3D don't specify the sign algorithm for jarsigner although Unity works correctly with JDK1.7 keytool. And a downgrade to JDK 1.6 results on fail with Unity and keytool.
How to do?
That's so simple! Like a cake:
Installs JDK 1.6 and use the executables from bin folder of JDK 1.6
Create your keystore and alias if necessary
Do a build by Unity3D and use default key (unsigned(debug)). For default Unity always sign yours APKs.

Use 7zFM from 7zip to remove META-INF folder into your generated APK.
Verify your APK after it with you want to see unsigned apk message
Now! Sign!
And verify one more time
Everything ok? Use zipalign to optimize the memory use by your apk
Now your APK is ready to install and submit. For more details: hereInstalls JDK 1.6 and use the executables from bin folder of JDK 1.6
Create your keystore and alias if necessary
Do a build by Unity3D and use default key (unsigned(debug)). For default Unity always sign yours APKs.

Use 7zFM from 7zip to remove META-INF folder into your generated APK.
Verify your APK after it with you want to see unsigned apk message
jarsigner -verify my_signed.apk
Now! Sign!
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name
And verify one more time
jarsigner -verify my_signed.apk
Everything ok? Use zipalign to optimize the memory use by your apk
zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
Nenhum comentário:
Postar um comentário