summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-02-16 23:45:08 +0800
committerruki <[email protected]>2021-02-16 23:45:08 +0800
commit3fd2197be60b009f4ed16ec64a35f60c9ac0782b (patch)
treee4b52024bcc4e2f49a25ff224ae95ba56f22bf29
parent5ec37d1979611aad83348afc8fc8c3adabbbc5b7 (diff)
fix android deploy
-rw-r--r--xmake/rules/qt/deploy/android.lua15
-rw-r--r--xmake/toolchains/ndk/check.lua1
2 files changed, 10 insertions, 6 deletions
diff --git a/xmake/rules/qt/deploy/android.lua b/xmake/rules/qt/deploy/android.lua
index b4dde3721..6c61c7baa 100644
--- a/xmake/rules/qt/deploy/android.lua
+++ b/xmake/rules/qt/deploy/android.lua
@@ -35,6 +35,9 @@ end
-- deploy application package for android
function main(target, opt)
+ -- get ndk toolchain
+ local toolchain_ndk = toolchain.load("ndk", {plat = target:plat(), arch = target:arch()})
+
-- get target apk path
local target_apk = path.join(target:targetdir(), target:basename() .. ".apk")
@@ -53,8 +56,8 @@ function main(target, opt)
local qt = target:data("qt")
-- get ndk
- local ndk = path.translate(assert(config.get("ndk"), "cannot get NDK!"))
- local ndk_sdkver = assert(config.get("ndk_sdkver"), "cannot get the sdk version of NDK!")
+ local ndk = path.translate(assert(toolchain_ndk:config("ndk"), "cannot get NDK!"))
+ local ndk_sdkver = assert(toolchain_ndk:config("ndk_sdkver"), "cannot get the sdk version of NDK!")
-- get ndk host
local ndk_host = os.host() .. "-" .. os.arch()
@@ -83,10 +86,10 @@ function main(target, opt)
local java_home = assert(os.getenv("JAVA_HOME"), "please set $JAVA_HOME environment variable first!")
-- get android sdk directory
- local android_sdkdir = path.translate(assert(config.get("android_sdk"), "please run `xmake f --android_sdk=xxx` to set the android sdk directory!"))
+ local android_sdkdir = path.translate(assert(toolchain_ndk:config("android_sdk"), "please run `xmake f --android_sdk=xxx` to set the android sdk directory!"))
-- get android build-tools version
- local android_build_toolver = assert(config.get("build_toolver"), "please run `xmake f --build_toolver=xxx` to set the android build-tools version!")
+ local android_build_toolver = assert(toolchain_ndk:config("build_toolver"), "please run `xmake f --build_toolver=xxx` to set the android build-tools version!")
-- get qt sdk version
local qt_sdkver = config.get("qt_sdkver")
@@ -132,12 +135,12 @@ function main(target, opt)
-- get stdcpp path
local stdcpp_path = path.join(ndk, "sources/cxx-stl/llvm-libc++/libs", target_arch, "libc++_shared.so")
if qt_sdkver and qt_sdkver:ge("5.14") then
- local toolchain = path.directory(assert(config.get("bin"), "toolchain/bin directory not found!"))
+ local toolchain = path.directory(assert(toolchain_ndk:bindir(), "toolchain/bin directory not found!"))
stdcpp_path = path.join(toolchain, "sysroot", "usr", "lib")
end
-- get toolchain version
- local ndk_toolchains_ver = config.get("ndk_toolchains_ver") or "4.9"
+ local ndk_toolchains_ver = toolchain_ndk:config("ndk_toolchains_ver") or "4.9"
-- generate android-deployment-settings.json file
local android_deployment_settings = path.join(workdir, "android-deployment-settings.json")
diff --git a/xmake/toolchains/ndk/check.lua b/xmake/toolchains/ndk/check.lua
index 66bfe72f3..ceedf4341 100644
--- a/xmake/toolchains/ndk/check.lua
+++ b/xmake/toolchains/ndk/check.lua
@@ -49,6 +49,7 @@ function _check_android_sdk(toolchain)
local sdk = find_android_sdk(toolchain:config("android_sdk") or config.get("android_sdk"), {force = true, verbose = true})
if sdk then
toolchain:config_set("android_sdk", sdk.sdkdir)
+ toolchain:config_set("build_toolver", sdk.build_toolver)
toolchain:configs_save()
end
end