+1 vote

Hello Guys i have a problem :/

I want to export my Game to my Android Phone. So setup the Export Settings asdescribe in the Godot Tutorial. I can create an APK but when i try to install it on my phone it says : package is damaged

And when i try to install it via adb it says :

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1118192211.tmp/base.apk has no certificates at entry AndroidManifest.xml]

i have used the keystore from Android Studio and used my owen but it changed nothing.
I use jdk8

i hope you can help me :)

asked Dec 6, 2017 in Engine by FreshT (15 points)
edited Dec 6, 2017 by Zylann

Can you post the log Godot outputs when you export your APK?

Sure :)

TESTING: G:/Daten/Desktop/engine.cfg
TESTING: G:/Daten/engine.cfg
FOUND versionCode
FOUND versionName
FOUND package
ADDING: AndroidManifest.xml
ADDING: classes.dex
ADDING: lib/armeabi-v7a/libgodot_android.so
ADDING: lib/x86/libgodot_android.so
ADDING: res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png
ADDING: res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png
ADDING: res/drawable/icon.png
ADDING: res/layout/downloading_expansion.xml
ADDING: res/layout/status_bar_ongoing_event_progress_bar.xml
unicode error: invalid skip
unicode error: invalid skip
unicode error: invalid skip
unicode error: invalid skip
unicode error: invalid skip
ADDING: resources.arsc
HOHO: ..
HOHO: engine.cfg
HOHO: export.cfg
HOHO: GameObj
HOHO: GameScene.tscn
HOHO: grafics
HOHO: icon.png
HOHO: icon.png.flags
HOHO: logic Scripts
AT: res://
HinzugefĆ¼gt: res://icon.png.flags
HOHO: ..
AT: res://GameObj/
HOHO: ..
HOHO: construct_gh.tscn
AT: res://GameObj/UI/
HOHO: ..
HOHO: texture
HOHO: ui
AT: res://grafics/
HOHO: ..
HOHO: grass_texture.jpg
HOHO: grass_texture_small.jpg
AT: res://grafics/texture/
HOHO: ..
HOHO: construct_icon.png
HOHO: ui_border_left.png
AT: res://grafics/ui/
HOHO: ..
HOHO: TowerLogic.gd
AT: res://logic Scripts/
REMAP: res://logic Scripts/TowerLogic.gd -> res://logic Scripts/TowerLogic.gdc
REMAP: res://GameObj/UI/construct_gh.tscn -> res://GameObj/UI/construct_gh.tscn.converted.scn
REMAP: res://GameScene.tscn -> res://GameScene.tscn.converted.scn
0 param: -use_depth_32
1 param: -use_immersive

Is it all of it? I don't see anything wrong here... is your APK signed with a debug keystore? Also what are your Android export options?

Yes this is all. Yes i use the debug keystore from Android Studio and also tested it with a self created one. I did not change anything on the export Options just default.

I searched for the error you get: https://stackoverflow.com/questions/12987150/install-parse-failed-no-certificates-error-in-eclipse

Maybe try to uninstall the APK before trying to reinstall it?
Other that this, I'm out of ideas

Here is a screenshot from my jarsigner maybe this helps ? :(


It says the jar is not signed at the bottom

Yes but i dont know how to change this

my work around is to signe the apk by myself with the jarsigner. But i dont know why Godot dosent do the Trick.

 ./jarsigner -verbose -keystore debug.keystore -storepass android 
-keypass android my.apk androiddebugkey

1 Answer

+2 votes

Sorry to bring an old topic back to life, but I spent about 3 hours trying to build the app for android and the last answer here resolved it for me. Signing the apk myself with jarsigner.

I double checked all of my filenames for invalid characters or spaces.
Recreated my keystore.

But its just the APK needed to be signed by the jarsigner.

answered Jun 1, 2019 by jtumain (26 points)

In addition to this, I later found out that I wasn't using the most up to date jarsigner. Thsi was done by deliberate, since I thought I needed to use 1.8. In the end, the latest 1.12 at this time of writing - worked for me.

After updating Godot to use this jarsigner in the settings instead, I can build the app for Android through Godot.

Can you please let me know where in the settings I can find setting the jarsigner location?

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.