| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /*
- * Copyright (c) 2012-2026 Daniele Bartolini et al.
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
- namespace Crown
- {
- public class AndroidDeployer
- {
- public string? _java_home;
- public string _javac_path;
- public string _jarsigner_path;
- public string? _sdk_path;
- public string? _sdk_api_level;
- public string? _ndk_root_path;
- public string? _build_tools_path;
- public string _d8_path;
- public string _aapt_path;
- public string _zipalign_path;
- public AndroidDeployer()
- {
- _sdk_path = null;
- _ndk_root_path = null;
- _build_tools_path = null;
- check_config();
- }
- public int check_config()
- {
- _java_home = GLib.Environment.get_variable("JAVA_HOME");
- #if CROWN_PLATFORM_WINDOWS
- // JAVA_HOME must be defined.
- if (_java_home == null) {
- loge("Set JAVA_HOME environment variable.");
- return -1;
- }
- _javac_path = Path.build_path(Path.DIR_SEPARATOR_S
- , _java_home
- , "bin"
- , "javac"
- );
- _jarsigner_path = Path.build_path(Path.DIR_SEPARATOR_S
- , _java_home
- , "bin"
- , "jarsigner"
- );
- #elif CROWN_PLATFORM_LINUX
- _javac_path = "javac";
- _jarsigner_path = "jarsigner";
- #endif /* if CROWN_PLATFORM_WINDOWS */
- _sdk_path = GLib.Environment.get_variable("ANDROID_SDK_PATH");
- if (_sdk_path == null) {
- loge("Set ANDROID_SDK_PATH environment variable.");
- return -1;
- }
- _sdk_api_level = GLib.Environment.get_variable("ANDROID_API_LEVEL");
- if (_sdk_api_level == null) {
- loge("Set ANDROID_API_LEVEL environment variable.");
- return -1;
- }
- _ndk_root_path = GLib.Environment.get_variable("ANDROID_NDK_ROOT");
- if (_ndk_root_path == null) {
- loge("Set ANDROID_NDK_ROOT environment variable.");
- return -1;
- }
- _build_tools_path = GLib.Environment.get_variable("ANDROID_BUILD_TOOLS");
- if (_build_tools_path == null) {
- loge("Set ANDROID_BUILD_TOOLS environment variable.");
- return -1;
- }
- _d8_path = Path.build_path(Path.DIR_SEPARATOR_S
- , _build_tools_path
- , "d8"
- );
- _aapt_path = Path.build_path(Path.DIR_SEPARATOR_S
- , _build_tools_path
- , "aapt"
- );
- _zipalign_path = Path.build_path(Path.DIR_SEPARATOR_S
- , _build_tools_path
- , "zipalign"
- );
- return 0;
- }
- }
- } /* namespace Crown */
|