From 609113e85b567f4e51dfd0b05307c55361362a4a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:42:18 +0000 Subject: [PATCH 1/6] feat: add android 36.1 sdk target support Agent-Logs-Url: https://github.com/NativeScript/nativescript-cli/sessions/88eeac91-da5e-44b8-9dcc-3560b73090e9 Co-authored-by: NathanWalker <457187+NathanWalker@users.noreply.github.com> --- lib/common/mobile/emulator-helper.ts | 1 + packages/doctor/src/android-tools-info.ts | 1 + packages/doctor/test/android-tools-info.ts | 39 +++++++++++----------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/lib/common/mobile/emulator-helper.ts b/lib/common/mobile/emulator-helper.ts index baf98fc7aa..f07b40e5c4 100644 --- a/lib/common/mobile/emulator-helper.ts +++ b/lib/common/mobile/emulator-helper.ts @@ -5,6 +5,7 @@ import { injector } from "../yok"; export class EmulatorHelper implements Mobile.IEmulatorHelper { // https://developer.android.com/guide/topics/manifest/uses-sdk-element public mapAndroidApiLevelToVersion = { + "android-36.1": "16.0.0", "android-36": "16.0.0", "android-35": "15.0.0", "android-34": "14.0.0", diff --git a/packages/doctor/src/android-tools-info.ts b/packages/doctor/src/android-tools-info.ts index 90b7ad5989..a9136d9804 100644 --- a/packages/doctor/src/android-tools-info.ts +++ b/packages/doctor/src/android-tools-info.ts @@ -33,6 +33,7 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo { "android-34", "android-35", "android-36", + "android-36.1", ]; const isRuntimeVersionLessThan = (targetVersion: string) => { diff --git a/packages/doctor/test/android-tools-info.ts b/packages/doctor/test/android-tools-info.ts index f8121b0da6..08c6a62e97 100644 --- a/packages/doctor/test/android-tools-info.ts +++ b/packages/doctor/test/android-tools-info.ts @@ -71,6 +71,7 @@ describe("androidToolsInfo", () => { "android-34", "android-35", "android-36", + "android-36.1", ]; } }, @@ -111,38 +112,36 @@ describe("androidToolsInfo", () => { }); describe("supportedAndroidSdks", () => { - const assertSupportedRange = ( + const assertSupportedTargets = ( runtimeVersion: string, - min: number, - max: number, + expectedTargets: string[], ) => { - let cnt = 0; const androidToolsInfo = getAndroidToolsInfo(runtimeVersion); const supportedTargets = androidToolsInfo.getSupportedTargets("test"); - for (let i = 0; i < supportedTargets.length; i++) { - assert.equal(supportedTargets[i], `android-${min + i}`); - cnt = min + i; - } - assert.equal(cnt, max); + assert.deepEqual(supportedTargets, expectedTargets); }; it("runtime 6.0.0 should support android-17 - android-28", () => { - const min = 17; - const max = 28; - assertSupportedRange("6.0.0", min, max); + assertSupportedTargets( + "6.0.0", + Array.from({ length: 12 }, (_, index) => `android-${17 + index}`), + ); }); it("runtime 8.1.0 should support android-17 - android-30", () => { - const min = 17; - const max = 30; - assertSupportedRange("8.1.0", min, max); + assertSupportedTargets( + "8.1.0", + Array.from({ length: 14 }, (_, index) => `android-${17 + index}`), + ); }); - it("runtime 8.2.0 should support android-17 - android-34", () => { - const min = 17; - const max = 36; - assertSupportedRange("8.2.0", min, max); - assertSupportedRange("8.3.0", min, max); + it("runtime 8.2.0 should support android-17 - android-36.1", () => { + const expectedTargets = [ + ...Array.from({ length: 20 }, (_, index) => `android-${17 + index}`), + "android-36.1", + ]; + assertSupportedTargets("8.2.0", expectedTargets); + assertSupportedTargets("8.3.0", expectedTargets); }); }); From a94b484015ad78cdd658584008ad8e7657625b92 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:44:51 +0000 Subject: [PATCH 2/6] chore: preserve android sdk target ordering Agent-Logs-Url: https://github.com/NativeScript/nativescript-cli/sessions/88eeac91-da5e-44b8-9dcc-3560b73090e9 Co-authored-by: NathanWalker <457187+NathanWalker@users.noreply.github.com> --- lib/common/mobile/emulator-helper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/common/mobile/emulator-helper.ts b/lib/common/mobile/emulator-helper.ts index f07b40e5c4..4d582dd9d2 100644 --- a/lib/common/mobile/emulator-helper.ts +++ b/lib/common/mobile/emulator-helper.ts @@ -5,8 +5,8 @@ import { injector } from "../yok"; export class EmulatorHelper implements Mobile.IEmulatorHelper { // https://developer.android.com/guide/topics/manifest/uses-sdk-element public mapAndroidApiLevelToVersion = { - "android-36.1": "16.0.0", "android-36": "16.0.0", + "android-36.1": "16.0.0", "android-35": "15.0.0", "android-34": "14.0.0", "android-33": "13.0.0", From cb786292527ca36deedeb4d95784bfb027021d4e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:46:15 +0000 Subject: [PATCH 3/6] test: clarify android sdk support case name Agent-Logs-Url: https://github.com/NativeScript/nativescript-cli/sessions/88eeac91-da5e-44b8-9dcc-3560b73090e9 Co-authored-by: NathanWalker <457187+NathanWalker@users.noreply.github.com> --- packages/doctor/test/android-tools-info.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/doctor/test/android-tools-info.ts b/packages/doctor/test/android-tools-info.ts index 08c6a62e97..faf9c53c0a 100644 --- a/packages/doctor/test/android-tools-info.ts +++ b/packages/doctor/test/android-tools-info.ts @@ -135,7 +135,7 @@ describe("androidToolsInfo", () => { ); }); - it("runtime 8.2.0 should support android-17 - android-36.1", () => { + it("runtime 8.2.0 and 8.3.0 should support android-17 - android-36.1", () => { const expectedTargets = [ ...Array.from({ length: 20 }, (_, index) => `android-${17 + index}`), "android-36.1", From 1c8059062aadeeb724766eafb325fc034d9335aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:47:53 +0000 Subject: [PATCH 4/6] test: assert final android sdk target Agent-Logs-Url: https://github.com/NativeScript/nativescript-cli/sessions/88eeac91-da5e-44b8-9dcc-3560b73090e9 Co-authored-by: NathanWalker <457187+NathanWalker@users.noreply.github.com> --- packages/doctor/test/android-tools-info.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/doctor/test/android-tools-info.ts b/packages/doctor/test/android-tools-info.ts index faf9c53c0a..b2b1be0bde 100644 --- a/packages/doctor/test/android-tools-info.ts +++ b/packages/doctor/test/android-tools-info.ts @@ -119,6 +119,10 @@ describe("androidToolsInfo", () => { const androidToolsInfo = getAndroidToolsInfo(runtimeVersion); const supportedTargets = androidToolsInfo.getSupportedTargets("test"); assert.deepEqual(supportedTargets, expectedTargets); + assert.equal( + supportedTargets[supportedTargets.length - 1], + expectedTargets[expectedTargets.length - 1], + ); }; it("runtime 6.0.0 should support android-17 - android-28", () => { From 5c84160b8e8a6cff40f88dfd105b1c6da5e6b042 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:49:26 +0000 Subject: [PATCH 5/6] test: split android 36.1 runtime cases Agent-Logs-Url: https://github.com/NativeScript/nativescript-cli/sessions/88eeac91-da5e-44b8-9dcc-3560b73090e9 Co-authored-by: NathanWalker <457187+NathanWalker@users.noreply.github.com> --- packages/doctor/test/android-tools-info.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/doctor/test/android-tools-info.ts b/packages/doctor/test/android-tools-info.ts index b2b1be0bde..39c0de49c4 100644 --- a/packages/doctor/test/android-tools-info.ts +++ b/packages/doctor/test/android-tools-info.ts @@ -119,10 +119,6 @@ describe("androidToolsInfo", () => { const androidToolsInfo = getAndroidToolsInfo(runtimeVersion); const supportedTargets = androidToolsInfo.getSupportedTargets("test"); assert.deepEqual(supportedTargets, expectedTargets); - assert.equal( - supportedTargets[supportedTargets.length - 1], - expectedTargets[expectedTargets.length - 1], - ); }; it("runtime 6.0.0 should support android-17 - android-28", () => { @@ -139,12 +135,19 @@ describe("androidToolsInfo", () => { ); }); - it("runtime 8.2.0 and 8.3.0 should support android-17 - android-36.1", () => { + it("runtime 8.2.0 should support android-17 - android-36.1", () => { const expectedTargets = [ ...Array.from({ length: 20 }, (_, index) => `android-${17 + index}`), "android-36.1", ]; assertSupportedTargets("8.2.0", expectedTargets); + }); + + it("runtime 8.3.0 should support android-17 - android-36.1", () => { + const expectedTargets = [ + ...Array.from({ length: 20 }, (_, index) => `android-${17 + index}`), + "android-36.1", + ]; assertSupportedTargets("8.3.0", expectedTargets); }); }); From 480ffc94affad1da900841bab1f5ce6ded5a11ef Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:50:51 +0000 Subject: [PATCH 6/6] test: clarify android sdk support descriptions Agent-Logs-Url: https://github.com/NativeScript/nativescript-cli/sessions/88eeac91-da5e-44b8-9dcc-3560b73090e9 Co-authored-by: NathanWalker <457187+NathanWalker@users.noreply.github.com> --- packages/doctor/test/android-tools-info.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/doctor/test/android-tools-info.ts b/packages/doctor/test/android-tools-info.ts index 39c0de49c4..7be4d11b17 100644 --- a/packages/doctor/test/android-tools-info.ts +++ b/packages/doctor/test/android-tools-info.ts @@ -135,7 +135,7 @@ describe("androidToolsInfo", () => { ); }); - it("runtime 8.2.0 should support android-17 - android-36.1", () => { + it("runtime 8.2.0 should support android-17 through android-36 and android-36.1", () => { const expectedTargets = [ ...Array.from({ length: 20 }, (_, index) => `android-${17 + index}`), "android-36.1", @@ -143,7 +143,7 @@ describe("androidToolsInfo", () => { assertSupportedTargets("8.2.0", expectedTargets); }); - it("runtime 8.3.0 should support android-17 - android-36.1", () => { + it("runtime 8.3.0 should support android-17 through android-36 and android-36.1", () => { const expectedTargets = [ ...Array.from({ length: 20 }, (_, index) => `android-${17 + index}`), "android-36.1",