Godot version:
72c44bafac6e280b5e1e99b417588624bfb5ecc6
OS/device including version:
MacOS 10.15.12
Issue description:
When compiling from 72c44bafac6e280b5e1e99b417588624bfb5ecc6 my android export is now broken where it was successful before.
when using a custom build I get this:
0: ./editor/godot.osx.opt.tools.64
1: --path
2: project
3: --export
4: android
5: ../export/android/GameOne.apk
Current path: /Users/mattiasmyhrman/Repositories/gameone
Godot Engine v3.2.rc.custom_build.7617336d7 - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 775M OpenGL Engine
Registered camera FaceTime HD Camera (Built-in) with id 1 position 0 at index 0
export: begin: Exporting for Android steps: 105
export: end
ERROR: _fs_changed: Project export failed with error code 20 for preset 'android'.
At: editor/editor_node.cpp:634.
When not using a custom build it exports successfully however when pushing to device I get
adb: failed to install export/android/GameOne.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
Starting: Intent { act=android.intent.action.MAIN cmp=org.godotengine.gameone/com.godot.game.GodotApp }
Error type 3
Error: Activity class {org.godotengine.gameone/com.godot.game.GodotApp} does not exist.
Both of these were working in rc1 IIRC so something seems to have happened with the manifest regeneration(?)
Did you reinstall the Android source template matching the commit that you built?
Indeed there must have been some mixup when I tried different versions. I am currently trying to sort out a CI / CD system for iOS and android which is a bit of a challenge.
Trying to install the source template failed silently in editor due to the android_source.zip file from the CI being corrupt. Maybe a popup warning on failure in editor and not only in terminal could be beneficial?
Side note: it would be great to be able to install the source template from command line, otherwise its not possible to do CD for android right now as I understand it.
Side note: it would be great to be able to install the source template from command line, otherwise its not possible to do CD for android right now as I understand it.
I think it's a matter of installing it to $HOME/.local/share/godot/templates/<version>/android_source.zip, where <version> is the version identifier like 3.1.2.stable (create folders if needed).
Side note: it would be great to be able to install the source template from command line, otherwise its not possible to do CD for android right now as I understand it.
I think it's a matter of installing it to
$HOME/.local/share/godot/templates/<version>/android_source.zip, where<version>is the version identifier like3.1.2.stable(create folders if needed).
Thats correct however there is also the requirement to manually install the android build template through the projects menu. This seems to lack support from command line.
Doing some more research to circumvent this I setup the custom template paths and made a script that unzips the android_sourze.zip to android/build folder and this successfully circumvent the problem.
However the export error checking still requires android_source.zip in the template folder even when its already installed correctly. This should probably be corrected.
@Myran Maybe we could add an --install-export-template <file> command-line argument that installs a TPZ file or Android source ZIP in the right location. This way, the user doesn't need to know in advance the version identifier to use. This means you'd have to run the Godot headless binary twice in CI environments, but it's probably not an issue.
@Myran Maybe we could add an
--install-export-template <file>command-line argument that installs a TPZ file or Android source ZIP in the right location. This way, the user doesn't need to know in advance the version identifier to use. This means you'd have to run the Godot headless binary twice in CI environments, but it's probably not an issue.
That would would be perfect, thanks! :)
Most helpful comment
@Myran Maybe we could add an
--install-export-template <file>command-line argument that installs a TPZ file or Android source ZIP in the right location. This way, the user doesn't need to know in advance the version identifier to use. This means you'd have to run the Godot headless binary twice in CI environments, but it's probably not an issue.