From 0dc42a6978388f744fafe0100eef3599de436720 Mon Sep 17 00:00:00 2001 From: Kannan J Date: Fri, 6 Mar 2026 05:38:36 +0000 Subject: [PATCH 1/2] Drop support for Android API levels 21-22 since Google Play Services needs min Android API level of 23 (Android 6.0 Marshmallow). --- README.md | 2 +- android/build.gradle | 2 +- binder/build.gradle | 2 +- cronet/build.gradle | 2 +- examples/android/helloworld/app/build.gradle | 2 +- examples/android/routeguide/app/build.gradle | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 47502009c3f..272f3e0a783 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ gRPC-Java - An RPC library and framework Supported Platforms ------------------- -gRPC-Java supports Java 8 and later. Android minSdkVersion 21 (Lollipop) and +gRPC-Java supports Java 8 and later. Android minSdkVersion 23 (Marshmallow) and later are supported with [Java 8 language desugaring][android-java-8]. TLS usage on Android typically requires Play Services Dynamic Security Provider. diff --git a/android/build.gradle b/android/build.gradle index d0ae3b9c886..e94bf03ff37 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -14,7 +14,7 @@ android { } compileSdkVersion 34 defaultConfig { - minSdkVersion 22 + minSdkVersion 23 targetSdkVersion 33 versionCode 1 versionName "1.0" diff --git a/binder/build.gradle b/binder/build.gradle index d1302ddfed0..3d743129420 100644 --- a/binder/build.gradle +++ b/binder/build.gradle @@ -13,7 +13,7 @@ android { targetCompatibility 1.8 } defaultConfig { - minSdkVersion 22 + minSdkVersion 23 targetSdkVersion 33 versionCode 1 versionName "1.0" diff --git a/cronet/build.gradle b/cronet/build.gradle index d6d773a97e4..e096761ddd2 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -14,7 +14,7 @@ android { namespace = 'io.grpc.cronet' compileSdkVersion 33 defaultConfig { - minSdkVersion 22 + minSdkVersion 23 targetSdkVersion 33 versionCode 1 versionName "1.0" diff --git a/examples/android/helloworld/app/build.gradle b/examples/android/helloworld/app/build.gradle index afc2a97e92f..7d2988d1e73 100644 --- a/examples/android/helloworld/app/build.gradle +++ b/examples/android/helloworld/app/build.gradle @@ -10,7 +10,7 @@ android { defaultConfig { applicationId "io.grpc.helloworldexample" - minSdkVersion 21 + minSdkVersion 23 targetSdkVersion 33 versionCode 1 versionName "1.0" diff --git a/examples/android/routeguide/app/build.gradle b/examples/android/routeguide/app/build.gradle index c6fb344e82e..28b1d944722 100644 --- a/examples/android/routeguide/app/build.gradle +++ b/examples/android/routeguide/app/build.gradle @@ -10,7 +10,7 @@ android { defaultConfig { applicationId "io.grpc.routeguideexample" - minSdkVersion 21 + minSdkVersion 23 targetSdkVersion 33 versionCode 1 versionName "1.0" From 4fbece6659aa79f4637fd83017381d18508b8718 Mon Sep 17 00:00:00 2001 From: Kannan J Date: Fri, 6 Mar 2026 06:10:45 +0000 Subject: [PATCH 2/2] Remove redundant check for API level >= 23. --- .../src/main/java/io/grpc/cronet/CronetChannelBuilder.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cronet/src/main/java/io/grpc/cronet/CronetChannelBuilder.java b/cronet/src/main/java/io/grpc/cronet/CronetChannelBuilder.java index f42dabdd55a..7ea1bc891c2 100644 --- a/cronet/src/main/java/io/grpc/cronet/CronetChannelBuilder.java +++ b/cronet/src/main/java/io/grpc/cronet/CronetChannelBuilder.java @@ -21,7 +21,6 @@ import static io.grpc.internal.GrpcUtil.DEFAULT_MAX_MESSAGE_SIZE; import android.net.Network; -import android.os.Build; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.MoreExecutors; @@ -340,9 +339,7 @@ public BidirectionalStream.Builder newBidirectionalStreamBuilder( builder.setTrafficStatsUid(trafficStatsUid); } if (network != null) { - if (Build.VERSION.SDK_INT >= 23) { - builder.bindToNetwork(network.getNetworkHandle()); - } + builder.bindToNetwork(network.getNetworkHandle()); } return builder; }