From c322b7943afec9bc08067a81b3b4743ff1d95a40 Mon Sep 17 00:00:00 2001 From: "jose.pereda" Date: Wed, 10 Jul 2024 12:24:37 +0200 Subject: [PATCH 1/2] Bump Android SDK to 34, gradle plugin to 8.5, NDK to 26, move package to namespace --- .../substrate/target/AndroidTargetConfiguration.java | 7 ++++--- src/main/java/com/gluonhq/substrate/util/FileDeps.java | 2 +- .../native/android/android_project/app/build.gradle | 5 +++-- .../android_project/app/src/main/AndroidManifest.xml | 2 +- .../resources/native/android/android_project/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java b/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java index 4198b1ec..8b4341b7 100644 --- a/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java +++ b/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java @@ -66,7 +66,7 @@ public class AndroidTargetConfiguration extends PosixTargetConfiguration { private static final String ANDROID_TRIPLET = new Triplet(Constants.Profile.ANDROID).toString(); private static final String ANDROID_MIN_SDK_VERSION = "21"; - public static final String ANDROID_NDK_VERSION = "25.2.9519653"; + public static final String ANDROID_NDK_VERSION = "26.3.11579264"; private static final List ANDROID_KEYSTORE_EXTENSIONS = List.of(".keystore", ".jks"); private static final String WL_WHOLE_ARCHIVE = "-Wl,--whole-archive"; private static final String WL_NO_WHOLE_ARCHIVE = "-Wl,--no-whole-archive"; @@ -519,7 +519,9 @@ private Path prepareAndroidProject() throws IOException { Files.deleteIfExists(Path.of(androidProject.toString(), "app", "src", "main", "java", "com", "gluonhq", "helloandroid", "NativeWebView.java")); } androidProject.resolve("gradlew").toFile().setExecutable(true); - FileOps.replaceInFile(androidProject.resolve("app").resolve("build.gradle"), + Path buildPath = androidProject.resolve("app").resolve("build.gradle"); + FileOps.replaceInFile(buildPath, "namespace 'com.gluonhq.helloandroid'", "namespace '" + getAndroidPackageName() + "'"); + FileOps.replaceInFile(buildPath, "// OTHER_ANDROID_DEPENDENCIES", String.join("\n ", requiredDependencies())); return androidProject; } @@ -546,7 +548,6 @@ private Path prepareAndroidManifest() throws IOException { if (!Files.exists(userManifest)) { // use default manifest - FileOps.replaceInFile(targetManifest, "package='com.gluonhq.helloandroid'", "package='" + getAndroidPackageName() + "'"); String newAppLabel = Objects.requireNonNullElse(releaseConfiguration.getAppLabel(), projectConfiguration.getAppName()); FileOps.replaceInFile(targetManifest, "A HelloGraal", newAppLabel); String newVersionCode = releaseConfiguration.getVersionCode(); diff --git a/src/main/java/com/gluonhq/substrate/util/FileDeps.java b/src/main/java/com/gluonhq/substrate/util/FileDeps.java index f2073fad..5063a4b0 100644 --- a/src/main/java/com/gluonhq/substrate/util/FileDeps.java +++ b/src/main/java/com/gluonhq/substrate/util/FileDeps.java @@ -72,7 +72,7 @@ public final class FileDeps { private static final String ANDROID_KEY = "24333f8a63b6825ea9c5514f83c2829b004d1fee"; private static final String[] ANDROID_SDK_PACKAGES = { - "platforms;android-33", "build-tools;33.0.2", "platform-tools", + "platforms;android-34", "build-tools;34.0.0", "platform-tools", "extras;android;m2repository", "extras;google;m2repository", "ndk;" + ANDROID_NDK_VERSION }; diff --git a/src/main/resources/native/android/android_project/app/build.gradle b/src/main/resources/native/android/android_project/app/build.gradle index 645d7b91..15757452 100644 --- a/src/main/resources/native/android/android_project/app/build.gradle +++ b/src/main/resources/native/android/android_project/app/build.gradle @@ -1,7 +1,8 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 33 + namespace 'com.gluonhq.helloandroid' + compileSdkVersion 34 compileOptions { sourceCompatibility 1.8 @@ -10,7 +11,7 @@ android { defaultConfig { minSdkVersion 21 - targetSdkVersion 33 + targetSdkVersion 34 } repositories { diff --git a/src/main/resources/native/android/android_project/app/src/main/AndroidManifest.xml b/src/main/resources/native/android/android_project/app/src/main/AndroidManifest.xml index b41110c7..388fef1c 100644 --- a/src/main/resources/native/android/android_project/app/src/main/AndroidManifest.xml +++ b/src/main/resources/native/android/android_project/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/native/android/android_project/build.gradle b/src/main/resources/native/android/android_project/build.gradle index 85f1a3b1..b734addf 100644 --- a/src/main/resources/native/android/android_project/build.gradle +++ b/src/main/resources/native/android/android_project/build.gradle @@ -5,7 +5,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' + classpath 'com.android.tools.build:gradle:8.5.0' } } diff --git a/src/main/resources/native/android/android_project/gradle/wrapper/gradle-wrapper.properties b/src/main/resources/native/android/android_project/gradle/wrapper/gradle-wrapper.properties index 0e9a6105..45181329 100644 --- a/src/main/resources/native/android/android_project/gradle/wrapper/gradle-wrapper.properties +++ b/src/main/resources/native/android/android_project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip From e455373eabad5b1db72f32fe71f2bf6782a29616 Mon Sep 17 00:00:00 2001 From: "jose.pereda" Date: Wed, 10 Jul 2024 12:27:24 +0200 Subject: [PATCH 2/2] update copyright --- .../gluonhq/substrate/target/AndroidTargetConfiguration.java | 2 +- src/main/java/com/gluonhq/substrate/util/FileDeps.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java b/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java index 8b4341b7..691e158f 100644 --- a/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java +++ b/src/main/java/com/gluonhq/substrate/target/AndroidTargetConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2023, Gluon + * Copyright (c) 2019, 2024, Gluon * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/com/gluonhq/substrate/util/FileDeps.java b/src/main/java/com/gluonhq/substrate/util/FileDeps.java index 5063a4b0..3765c86b 100644 --- a/src/main/java/com/gluonhq/substrate/util/FileDeps.java +++ b/src/main/java/com/gluonhq/substrate/util/FileDeps.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2023, Gluon + * Copyright (c) 2019, 2024, Gluon * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by