mirror of https://github.com/godotengine/godot
The presence of those abis cause them to be included in the set of `p_features` passed to the `gdextension_export_plugin#_export_file(...)` method, which caused them to be lumped in the `features_wo_arch` set.
When trying to find the gdextension library path, we use a predicate with the following logic:
```
[features_wo_arch, arch_tag](String p_feature) { return features_wo_arch.has(p_feature) || (p_feature == arch_tag); }
```
For a `gdextension` config file like the one below, this causes the first android entry (`android.armeabi-v7a = ...`) to always be returned regardless of archs since it always satisfies the predicate.
```
[configuration]
entry_symbol = "example_library_init"
compatibility_minimum = 4.1
[libraries]
linux.x86_64 = "res://libgdexample.so"
android.armeabi-v7a = "res://libgdexample.android.template_release.armeabi-v7a.so"
android.arm32 = "res://libgdexample.android.template_release.armeabi-v7a.so"
android.x86 = "res://x86/libgdexample.android.template_release.x86.so"
android.x86_32 = "res://x86/libgdexample.android.template_release.x86.so"
android.x86_64 = "res://libgdexample.android.template_release.x86_64.so"
android.arm64-v8a = "res://libgdexample.android.template_release.arm64-v8a.so"
android.arm64 = "res://libgdexample.android.template_release.arm64-v8a.so"
```
|
||
|---|---|---|
| .. | ||
| api | ||
| doc_classes | ||
| export | ||
| java | ||
| plugin | ||
| README.md | ||
| SCsub | ||
| android_input_handler.cpp | ||
| android_input_handler.h | ||
| android_keys_utils.cpp | ||
| android_keys_utils.h | ||
| audio_driver_opensl.cpp | ||
| audio_driver_opensl.h | ||
| detect.py | ||
| dir_access_jandroid.cpp | ||
| dir_access_jandroid.h | ||
| display_server_android.cpp | ||
| display_server_android.h | ||
| file_access_android.cpp | ||
| file_access_android.h | ||
| file_access_filesystem_jandroid.cpp | ||
| file_access_filesystem_jandroid.h | ||
| java_class_wrapper.cpp | ||
| java_godot_io_wrapper.cpp | ||
| java_godot_io_wrapper.h | ||
| java_godot_lib_jni.cpp | ||
| java_godot_lib_jni.h | ||
| java_godot_view_wrapper.cpp | ||
| java_godot_view_wrapper.h | ||
| java_godot_wrapper.cpp | ||
| java_godot_wrapper.h | ||
| jni_utils.cpp | ||
| jni_utils.h | ||
| net_socket_android.cpp | ||
| net_socket_android.h | ||
| os_android.cpp | ||
| os_android.h | ||
| platform_config.h | ||
| platform_gl.h | ||
| string_android.h | ||
| thread_jandroid.cpp | ||
| thread_jandroid.h | ||
| tts_android.cpp | ||
| tts_android.h | ||
| vulkan_context_android.cpp | ||
| vulkan_context_android.h | ||
README.md
Android platform port
This folder contains the Java and C++ (JNI) code for the Android platform port, using Gradle as a build system.
Documentation
- Compiling for Android
- Instructions on building this platform port from source.
- Exporting for Android
- Instructions on using the compiled export templates to export a project.
Artwork license
logo.png and run_icon.png are licensed under
Creative Commons Attribution 3.0 Unported
per the Android logo usage guidelines:
The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.