From 41f121df69e242a0790f7a53603ba769aa6d524a Mon Sep 17 00:00:00 2001 From: Jumpei Matsuda Date: Mon, 24 Jul 2023 17:19:13 +0900 Subject: [PATCH 1/4] feat: Set compile/target sdk version to 33 --- .circleci/config.yml | 2 +- sdk.build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d2b5a9..98b65a7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: android: docker: - - image: cimg/android:2022.03 + - image: cimg/android:2023.07 working_directory: ~/deploygate-android-sdk environment: GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false' diff --git a/sdk.build.gradle b/sdk.build.gradle index 3af254a..5dd5903 100644 --- a/sdk.build.gradle +++ b/sdk.build.gradle @@ -4,11 +4,11 @@ apply plugin: 'maven-publish' version = rootProject.ext.releaseVersion android { - compileSdkVersion 29 + compileSdkVersion 33 defaultConfig { minSdkVersion 14 - targetSdkVersion 29 + targetSdkVersion 33 versionCode 1 versionName project.version manifestPlaceholders = [sdkVersion:"4"] From 29fc643546c49de0f70b4b32a79202e6a12b7d9e Mon Sep 17 00:00:00 2001 From: Jumpei Matsuda Date: Mon, 24 Jul 2023 17:22:54 +0900 Subject: [PATCH 2/4] fix: Set receiver exported flag when registering the broadcast receiver This change is required for Android 14 or later --- sdk/src/main/java/com/deploygate/sdk/DeployGate.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sdk/src/main/java/com/deploygate/sdk/DeployGate.java b/sdk/src/main/java/com/deploygate/sdk/DeployGate.java index 5fb379b..1282299 100644 --- a/sdk/src/main/java/com/deploygate/sdk/DeployGate.java +++ b/sdk/src/main/java/com/deploygate/sdk/DeployGate.java @@ -7,6 +7,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -259,7 +260,7 @@ private boolean initService(boolean isBoot) { private void prepareBroadcastReceiver() { IntentFilter filter = new IntentFilter(ACTION_DEPLOYGATE_STARTED); - mApplicationContext.registerReceiver(new BroadcastReceiver() { + BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive( Context context, @@ -272,7 +273,13 @@ public void onReceive( bindToService(false); } } - }, filter); + }; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + mApplicationContext.registerReceiver(receiver, filter, Context.RECEIVER_EXPORTED); + } else { + mApplicationContext.registerReceiver(receiver, filter); + } } private void bindToService(final boolean isBoot) { From 1c1564e589e6aecf029d73eeaa4258960220d43c Mon Sep 17 00:00:00 2001 From: Jumpei Matsuda Date: Wed, 26 Jul 2023 20:16:35 +0900 Subject: [PATCH 3/4] chore: Change the build environment to JVM 17 (or 11) --- .circleci/config.yml | 2 +- build.gradle | 5 +++-- gradle/wrapper/gradle-wrapper.properties | 2 +- sample/build.gradle | 8 ++++---- sdk.build.gradle | 8 ++++---- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 98b65a7..638fe05 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ executors: - image: cimg/android:2023.07 working_directory: ~/deploygate-android-sdk environment: - GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false' + GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false' commands: restore_gradle_cache: diff --git a/build.gradle b/build.gradle index 2ac7252..7a2fbe8 100644 --- a/build.gradle +++ b/build.gradle @@ -7,10 +7,11 @@ buildscript { repositories { mavenCentral() google() + gradlePluginPortal() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.2' - classpath 'com.akaita.android:easylauncher:1.3.1' + classpath 'com.android.tools.build:gradle:7.4.2' + classpath 'com.project.starter:easylauncher:5.0.1' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4d9ca16..774fae8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sample/build.gradle b/sample/build.gradle index c5a65a0..5c82649 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' -apply plugin: 'com.akaita.android.easylauncher' +apply plugin: 'com.starter.easylauncher' android { - compileSdkVersion = 32 + compileSdkVersion 33 defaultConfig { applicationId "com.deploygate.sample" minSdkVersion 14 - targetSdkVersion 32 + targetSdkVersion 33 } buildTypes { @@ -56,7 +56,7 @@ android { } easylauncher { - defaultFlavorNaming = true + defaultFlavorNaming true productFlavors { devreal { diff --git a/sdk.build.gradle b/sdk.build.gradle index 5dd5903..6dab261 100644 --- a/sdk.build.gradle +++ b/sdk.build.gradle @@ -40,11 +40,11 @@ android { } dependencies { - testImplementation 'androidx.test:runner:1.2.0' - testImplementation 'androidx.test.ext:junit:1.1.1' - testImplementation 'org.robolectric:robolectric:4.3.1' + testImplementation 'androidx.test:runner:1.5.2' + testImplementation 'androidx.test.ext:junit:1.1.5' + testImplementation 'org.robolectric:robolectric:4.10.3' - testImplementation 'androidx.test:rules:1.2.0' + testImplementation 'androidx.test:rules:1.5.0' testImplementation 'com.google.truth:truth:1.0' } From 0d90374a24b33a5a5dd3d4f4aa031557a2d0c739 Mon Sep 17 00:00:00 2001 From: Jumpei Matsuda Date: Wed, 26 Jul 2023 20:40:02 +0900 Subject: [PATCH 4/4] chore: Use Java 17 on GitHub Actions --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 79b44f0..e6e6369 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: - java-version: '8.x' + java-version: '17.x' java-package: jdk distribution: 'temurin' cache: 'gradle' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e100945..747b9b1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: - java-version: '8.x' + java-version: '17.x' java-package: jdk distribution: 'temurin' cache: 'gradle' @@ -57,7 +57,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: - java-version: '8.x' + java-version: '17.x' java-package: jdk distribution: 'temurin' cache: 'gradle'