mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python
 | |
| 
 | |
| Import("env")
 | |
| 
 | |
| android_files = [
 | |
|     "os_android.cpp",
 | |
|     "file_access_android.cpp",
 | |
|     "audio_driver_opensl.cpp",
 | |
|     "file_access_jandroid.cpp",
 | |
|     "dir_access_jandroid.cpp",
 | |
|     "thread_jandroid.cpp",
 | |
|     "net_socket_android.cpp",
 | |
|     "audio_driver_jandroid.cpp",
 | |
|     "java_godot_lib_jni.cpp",
 | |
|     "java_class_wrapper.cpp",
 | |
|     "java_godot_wrapper.cpp",
 | |
|     "java_godot_io_wrapper.cpp",
 | |
|     "jni_utils.cpp",
 | |
|     "android_keys_utils.cpp",
 | |
|     "display_server_android.cpp",
 | |
|     "vulkan/vulkan_context_android.cpp",
 | |
| ]
 | |
| 
 | |
| env_android = env.Clone()
 | |
| 
 | |
| android_objects = []
 | |
| for x in android_files:
 | |
|     android_objects.append(env_android.SharedObject(x))
 | |
| 
 | |
| env_thirdparty = env_android.Clone()
 | |
| env_thirdparty.disable_warnings()
 | |
| android_objects.append(env_thirdparty.SharedObject("#thirdparty/misc/ifaddrs-android.cc"))
 | |
| 
 | |
| lib = env_android.add_shared_library("#bin/libgodot", [android_objects], SHLIBSUFFIX=env["SHLIBSUFFIX"])
 | |
| 
 | |
| lib_arch_dir = ""
 | |
| if env["android_arch"] == "armv7":
 | |
|     lib_arch_dir = "armeabi-v7a"
 | |
| elif env["android_arch"] == "arm64v8":
 | |
|     lib_arch_dir = "arm64-v8a"
 | |
| elif env["android_arch"] == "x86":
 | |
|     lib_arch_dir = "x86"
 | |
| elif env["android_arch"] == "x86_64":
 | |
|     lib_arch_dir = "x86_64"
 | |
| else:
 | |
|     print("WARN: Architecture not suitable for embedding into APK; keeping .so at \\bin")
 | |
| 
 | |
| if lib_arch_dir != "":
 | |
|     if env["target"] == "release":
 | |
|         lib_type_dir = "release"
 | |
|     else:  # release_debug, debug
 | |
|         lib_type_dir = "debug"
 | |
| 
 | |
|     out_dir = "#platform/android/java/lib/libs/" + lib_type_dir + "/" + lib_arch_dir
 | |
|     env_android.Command(
 | |
|         out_dir + "/libgodot_android.so", "#bin/libgodot" + env["SHLIBSUFFIX"], Move("$TARGET", "$SOURCE")
 | |
|     )
 | |
| 
 | |
|     stl_lib_path = (
 | |
|         str(env["ANDROID_NDK_ROOT"]) + "/sources/cxx-stl/llvm-libc++/libs/" + lib_arch_dir + "/libc++_shared.so"
 | |
|     )
 | |
|     env_android.Command(out_dir + "/libc++_shared.so", stl_lib_path, Copy("$TARGET", "$SOURCE"))
 | 
