diff options
| author | ruki <[email protected]> | 2025-12-16 23:30:38 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-12-16 23:30:38 +0800 |
| commit | b0f05a5196bb5c4b0590895e69c64fd1a2be3f9c (patch) | |
| tree | 28c428ac7272b96017734de24c449259d34bc3e5 | |
| parent | c92d42d463b2593c31baa53769ab2951af545329 (diff) | |
improve check logs
| -rw-r--r-- | xmake/rules/ndk/install.lua | 5 | ||||
| -rw-r--r-- | xmake/rules/ndk/package.lua | 13 | ||||
| -rw-r--r-- | xmake/rules/ndk/xmake.lua | 2 |
3 files changed, 9 insertions, 11 deletions
diff --git a/xmake/rules/ndk/install.lua b/xmake/rules/ndk/install.lua index 092562ccf..20f213f05 100644 --- a/xmake/rules/ndk/install.lua +++ b/xmake/rules/ndk/install.lua @@ -19,6 +19,7 @@ -- -- imports +import("core.tool.toolchain") import("run", {alias = "run_app"}) -- main entry @@ -28,10 +29,10 @@ function main(target) local adb = path.join(android_sdkdir, "platform-tools", "adb") local final_apk = path.join(target:targetdir(), target:basename() .. ".apk") - assert(os.exists(final_apk)) + assert(os.isfile(final_apk), "apk file %s not found!", final_apk) cprint("installing %s ...", final_apk) - os.vrunv(adb, {"install", final_apk}) + os.vrunv(adb, {"install", "-r", final_apk}) cprint("install ok") -- run it diff --git a/xmake/rules/ndk/package.lua b/xmake/rules/ndk/package.lua index 171d697e5..5b4921ddb 100644 --- a/xmake/rules/ndk/package.lua +++ b/xmake/rules/ndk/package.lua @@ -20,9 +20,10 @@ -- imports import("core.tool.toolchain") +import("utils.progress") -- main entry -function main(target) +function main(target, opt) local conf = target:extraconf("rules", "android.native_app") local android_sdk_version = conf.android_sdk_version @@ -35,6 +36,9 @@ function main(target) assert(android_sdk_version, "android sdk version not set") assert(android_manifest, "android manifest not set") + local final_apk = path.join(target:targetdir(), target:basename() .. ".apk") + progress.show(opt.progress, "${color.build.target}packing.apk %s", final_apk) + local tmp_path = path.join(target:targetdir(), "temp") os.mkdir(tmp_path) os.mkdir(path.join(tmp_path, "lib")) @@ -70,26 +74,19 @@ function main(target) table.insert(aapt_argv, android_assets) end - cprint("packing resources ...") os.vrunv(aapt, aapt_argv) -- pack libs - cprint("packing library ...") os.vrunv(aapt, {"add", "res_only.apk", "lib/" .. target:arch() .."/libmain.so"}, {curdir = tmp_path}) -- align apk local aligned_apk = path.join(tmp_path, "unsigned.apk") local zipalign_argv = {"-f", "4", "res_only.apk", "unsigned.apk"} - cprint("aligning apk ...") os.vrunv(zipalign, zipalign_argv, {curdir = tmp_path}) -- sign apk - local final_apk = path.join(target:targetdir(), target:basename() .. ".apk") - local apksigner_argv = {"sign", "--ks", keystore, "--ks-pass", string.format("pass:%s", keystore_pass), "--out", final_apk, "--in", aligned_apk} - cprint("packing %s ...", final_apk) os.vrunv(apksigner, apksigner_argv) - cprint("pack ok") end diff --git a/xmake/rules/ndk/xmake.lua b/xmake/rules/ndk/xmake.lua index 5de5c8ad9..783abac65 100644 --- a/xmake/rules/ndk/xmake.lua +++ b/xmake/rules/ndk/xmake.lua @@ -40,7 +40,7 @@ rule("android.native_app") on_load("load") -- generate android apk package - on_package("package") + after_build("package") -- install android package with adb on_install("install") |
