Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit f2c6b50

Browse files
authored
[Re-land] Upgrade Android SDK to 34 "UpsideDownCake" (#47839)
The difference between this PR and the original is the change to the `AndroidManifest.xml`. For context, right before the original PR landed, [a change to upgrade the target sdk](#47683) in the manifest from 31 to 33 landed. It also removed the lint complaining about using an old target sdk version from the baseline lint file. So this change upgrading the sdk, but not the target sdk in the manifest, triggered the lint again. For the rest of the PR, [see the description of the original PR](#47609). [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
1 parent 145785a commit f2c6b50

File tree

19 files changed

+84
-78
lines changed

19 files changed

+84
-78
lines changed

.ci.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ platform_properties:
2727
# CIPD flutter/java/openjdk/$platform
2828
dependencies: >-
2929
[
30-
{"dependency": "open_jdk", "version": "version:11"},
30+
{"dependency": "open_jdk", "version": "version:17"},
3131
{"dependency": "gradle_cache", "version": "none"}
3232
]
3333
device_type: none
@@ -49,7 +49,7 @@ platform_properties:
4949
# CIPD flutter/java/openjdk/$platform
5050
dependencies: >-
5151
[
52-
{"dependency": "open_jdk", "version": "version:11"}
52+
{"dependency": "open_jdk", "version": "version:17"}
5353
]
5454
device_type: none
5555
cpu: x86
@@ -79,7 +79,7 @@ platform_properties:
7979
# CIPD flutter/java/openjdk/$platform
8080
dependencies: >-
8181
[
82-
{"dependency": "open_jdk", "version": "version:11"}
82+
{"dependency": "open_jdk", "version": "version:17"}
8383
]
8484
device_type: none
8585
os: Windows-10

DEPS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ allowed_hosts = [
267267
]
268268

269269
deps = {
270-
'src': 'https://github.com/flutter/buildroot.git' + '@' + '5ced4367fee2721f6eda34802dc28b1335637c63',
270+
'src': 'https://github.com/flutter/buildroot.git' + '@' + '44ca359ea6fada2fa1bb007b81994fa4dc8ce2ec',
271271

272272
'src/flutter/third_party/rapidjson':
273273
Var('fuchsia_git') + '/third_party/rapidjson' + '@' + 'ef3564c5c8824989393b87df25355baf35ff544b',
@@ -766,7 +766,7 @@ deps = {
766766
'packages': [
767767
{
768768
'package': 'flutter/android/sdk/all/${{platform}}',
769-
'version': 'version:33v6'
769+
'version': 'version:34v3'
770770
}
771771
],
772772
'condition': 'download_android_deps',
@@ -798,7 +798,7 @@ deps = {
798798
'packages': [
799799
{
800800
'package': 'flutter/java/openjdk/${{platform}}',
801-
'version': 'version:11'
801+
'version': 'version:17'
802802
}
803803
],
804804
'condition': 'download_android_deps',

shell/platform/android/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
-->
66
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.flutter.app" android:versionCode="1" android:versionName="0.0.1">
77

8-
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="33" />
8+
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="34" />
99
<uses-permission android:name="android.permission.INTERNET" />
1010
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1111
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />

shell/platform/android/io/flutter/embedding/android/FlutterView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ public FlutterView(@NonNull Context context, @NonNull RenderMode renderMode) {
233233
renderSurface = flutterTextureView;
234234
} else {
235235
throw new IllegalArgumentException(
236-
String.format("RenderMode not supported with this constructor: %s", renderMode));
236+
"RenderMode not supported with this constructor: " + renderMode);
237237
}
238238

239239
init();
@@ -327,7 +327,7 @@ public FlutterView(
327327
renderSurface = flutterTextureView;
328328
} else {
329329
throw new IllegalArgumentException(
330-
String.format("RenderMode not supported with this constructor: %s", renderMode));
330+
"RenderMode not supported with this constructor: " + renderMode);
331331
}
332332

333333
init();

shell/platform/android/io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -330,17 +330,17 @@ public void installDeferredComponent(int loadingUnitId, @Nullable String compone
330330
case SplitInstallErrorCode.NETWORK_ERROR:
331331
flutterJNI.deferredComponentInstallFailure(
332332
loadingUnitId,
333-
String.format(
334-
"Install of deferred component module \"%s\" failed with a network error",
335-
componentName),
333+
"Install of deferred component module \""
334+
+ componentName
335+
+ "\" failed with a network error",
336336
true);
337337
break;
338338
case SplitInstallErrorCode.MODULE_UNAVAILABLE:
339339
flutterJNI.deferredComponentInstallFailure(
340340
loadingUnitId,
341-
String.format(
342-
"Install of deferred component module \"%s\" failed as it is unavailable",
343-
componentName),
341+
"Install of deferred component module \""
342+
+ componentName
343+
+ "\" failed as it is unavailable",
344344
false);
345345
break;
346346
default:

shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
* EmbeddedView
5252
*/
5353
@Keep
54-
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
54+
@TargetApi(Build.VERSION_CODES.KITKAT)
5555
class SingleViewPresentation extends Presentation {
5656
private static final String TAG = "PlatformViewsController";
5757

shell/platform/android/test/io/flutter/embedding/android/FlutterActivityTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ public void itReleaseEngineWhenOnDestroy() {
485485
}
486486

487487
@Test
488-
@Config(minSdk = Build.VERSION_CODES.JELLY_BEAN, maxSdk = Build.VERSION_CODES.P)
488+
@Config(minSdk = Build.VERSION_CODES.KITKAT, maxSdk = Build.VERSION_CODES.P)
489489
public void fullyDrawn_beforeAndroidQ() {
490490
Intent intent = FlutterActivityWithReportFullyDrawn.createDefaultIntent(ctx);
491491
ActivityController<FlutterActivityWithReportFullyDrawn> activityController =

shell/platform/android/test/io/flutter/plugin/localization/LocalizationPluginTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ public void computePlatformResolvedLocale_fromAndroidN() {
238238
// Tests the legacy pre API 24 algorithm.
239239
@Test
240240
@Config(
241-
minSdk = Build.VERSION_CODES.JELLY_BEAN,
241+
minSdk = Build.VERSION_CODES.KITKAT,
242242
maxSdk = Build.VERSION_CODES.M,
243243
qualifiers = "es-rMX")
244244
public void computePlatformResolvedLocale_emptySupportedLocales_beforeAndroidN() {
@@ -252,7 +252,7 @@ public void computePlatformResolvedLocale_emptySupportedLocales_beforeAndroidN()
252252
}
253253

254254
@Test
255-
@Config(minSdk = Build.VERSION_CODES.JELLY_BEAN, maxSdk = Build.VERSION_CODES.M, qualifiers = "")
255+
@Config(minSdk = Build.VERSION_CODES.KITKAT, maxSdk = Build.VERSION_CODES.M, qualifiers = "")
256256
public void computePlatformResolvedLocale_selectFirstLocaleWhenNoUserSetting_beforeAndroidN() {
257257
FlutterJNI flutterJNI = new FlutterJNI();
258258
DartExecutor dartExecutor = mock(DartExecutor.class);
@@ -273,7 +273,7 @@ public void computePlatformResolvedLocale_selectFirstLocaleWhenNoUserSetting_bef
273273

274274
@Test
275275
@Config(
276-
minSdk = Build.VERSION_CODES.JELLY_BEAN,
276+
minSdk = Build.VERSION_CODES.KITKAT,
277277
maxSdk = Build.VERSION_CODES.M,
278278
qualifiers = "fr-rCH")
279279
public void computePlatformResolvedLocale_selectFirstLocaleWhenNoExactMatch_beforeAndroidN() {
@@ -299,7 +299,7 @@ public void computePlatformResolvedLocale_selectFirstLocaleWhenNoExactMatch_befo
299299

300300
@Test
301301
@Config(
302-
minSdk = Build.VERSION_CODES.JELLY_BEAN,
302+
minSdk = Build.VERSION_CODES.KITKAT,
303303
maxSdk = Build.VERSION_CODES.M,
304304
qualifiers = "it-rIT")
305305
public void computePlatformResolvedLocale_selectExactMatchLocale_beforeAndroidN() {
@@ -325,7 +325,7 @@ public void computePlatformResolvedLocale_selectExactMatchLocale_beforeAndroidN(
325325

326326
@Test
327327
@Config(
328-
minSdk = Build.VERSION_CODES.JELLY_BEAN,
328+
minSdk = Build.VERSION_CODES.KITKAT,
329329
maxSdk = Build.VERSION_CODES.M,
330330
qualifiers = "fr-rCH")
331331
public void computePlatformResolvedLocale_selectOnlyLanguageLocale_beforeAndroidN() {
@@ -351,35 +351,35 @@ public void computePlatformResolvedLocale_selectOnlyLanguageLocale_beforeAndroid
351351
}
352352

353353
// Tests the legacy pre API 21 algorithm.
354-
@Config(sdk = 16)
354+
@Config(sdk = Build.VERSION_CODES.KITKAT)
355355
@Test
356356
public void localeFromString_languageOnly() {
357357
Locale locale = LocalizationPlugin.localeFromString("en");
358358
assertEquals(locale, new Locale("en"));
359359
}
360360

361-
@Config(sdk = 16)
361+
@Config(sdk = Build.VERSION_CODES.KITKAT)
362362
@Test
363363
public void localeFromString_languageAndCountry() {
364364
Locale locale = LocalizationPlugin.localeFromString("en-US");
365365
assertEquals(locale, new Locale("en", "US"));
366366
}
367367

368-
@Config(sdk = 16)
368+
@Config(sdk = Build.VERSION_CODES.KITKAT)
369369
@Test
370370
public void localeFromString_languageCountryAndVariant() {
371371
Locale locale = LocalizationPlugin.localeFromString("zh-Hans-CN");
372372
assertEquals(locale, new Locale("zh", "CN", "Hans"));
373373
}
374374

375-
@Config(sdk = 16)
375+
@Config(sdk = Build.VERSION_CODES.KITKAT)
376376
@Test
377377
public void localeFromString_underscore() {
378378
Locale locale = LocalizationPlugin.localeFromString("zh_Hans_CN");
379379
assertEquals(locale, new Locale("zh", "CN", "Hans"));
380380
}
381381

382-
@Config(sdk = 16)
382+
@Config(sdk = Build.VERSION_CODES.KITKAT)
383383
@Test
384384
public void localeFromString_additionalVariantsAreIgnored() {
385385
Locale locale = LocalizationPlugin.localeFromString("de-DE-u-co-phonebk");

shell/platform/android/test/io/flutter/plugin/platform/PlatformPluginTest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
public class PlatformPluginTest {
5353
private final Context ctx = ApplicationProvider.getApplicationContext();
5454

55-
@Config(sdk = 16)
55+
@Config(sdk = Build.VERSION_CODES.KITKAT)
5656
@Test
5757
public void itIgnoresNewHapticEventsOnOldAndroidPlatforms() {
5858
View fakeDecorView = mock(View.class);
@@ -70,7 +70,7 @@ public void itIgnoresNewHapticEventsOnOldAndroidPlatforms() {
7070
platformPlugin.vibrateHapticFeedback(PlatformChannel.HapticFeedbackType.SELECTION_CLICK);
7171
}
7272

73-
@Config(sdk = 29)
73+
@Config(sdk = Build.VERSION_CODES.Q)
7474
@Test
7575
public void platformPlugin_getClipboardData() throws IOException {
7676
ClipboardManager clipboardManager = ctx.getSystemService(ClipboardManager.class);
@@ -100,7 +100,7 @@ public void platformPlugin_getClipboardData() throws IOException {
100100

101101
@SuppressWarnings("deprecation")
102102
// ClipboardManager.getText
103-
@Config(sdk = 28)
103+
@Config(sdk = Build.VERSION_CODES.P)
104104
@Test
105105
public void platformPlugin_hasStrings() {
106106
ClipboardManager clipboardManager = spy(ctx.getSystemService(ClipboardManager.class));
@@ -154,7 +154,7 @@ public void platformPlugin_hasStrings() {
154154
verify(clipboardManager, never()).getText();
155155
}
156156

157-
@Config(sdk = 29)
157+
@Config(sdk = Build.VERSION_CODES.Q)
158158
@Test
159159
public void setNavigationBarDividerColor() {
160160
View fakeDecorView = mock(View.class);
@@ -229,7 +229,7 @@ public void setNavigationBarDividerColor() {
229229
}
230230
}
231231

232-
@Config(sdk = 30)
232+
@Config(sdk = Build.VERSION_CODES.R)
233233
@Test
234234
public void setNavigationBarIconBrightness() {
235235
if (Build.VERSION.SDK_INT >= 30) {
@@ -276,7 +276,7 @@ public void setNavigationBarIconBrightness() {
276276
}
277277
}
278278

279-
@Config(sdk = 30)
279+
@Config(sdk = Build.VERSION_CODES.R)
280280
@Test
281281
public void setStatusBarIconBrightness() {
282282
if (Build.VERSION.SDK_INT >= 30) {
@@ -323,7 +323,7 @@ public void setStatusBarIconBrightness() {
323323

324324
@SuppressWarnings("deprecation")
325325
// SYSTEM_UI_FLAG_*, setSystemUiVisibility
326-
@Config(sdk = 29)
326+
@Config(sdk = Build.VERSION_CODES.Q)
327327
@Test
328328
public void setSystemUiMode() {
329329
View fakeDecorView = mock(View.class);
@@ -440,7 +440,7 @@ public void setSystemUiModeListener_overlaysAreVisible() {
440440

441441
@SuppressWarnings("deprecation")
442442
// SYSTEM_UI_FLAG_*, setSystemUiVisibility
443-
@Config(sdk = 28)
443+
@Config(sdk = Build.VERSION_CODES.P)
444444
@Test
445445
public void doNotEnableEdgeToEdgeOnOlderSdk() {
446446
View fakeDecorView = mock(View.class);
@@ -462,7 +462,7 @@ public void doNotEnableEdgeToEdgeOnOlderSdk() {
462462

463463
@SuppressWarnings("deprecation")
464464
// FLAG_TRANSLUCENT_STATUS, FLAG_TRANSLUCENT_NAVIGATION
465-
@Config(sdk = 29)
465+
@Config(sdk = Build.VERSION_CODES.Q)
466466
@Test
467467
public void verifyWindowFlagsSetToStyleOverlays() {
468468
View fakeDecorView = mock(View.class);

shell/platform/android/test/io/flutter/plugin/platform/SingleViewPresentationTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
package io.flutter.plugin.platform;
66

7-
import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR1;
7+
import static android.os.Build.VERSION_CODES.KITKAT;
88
import static android.os.Build.VERSION_CODES.P;
99
import static android.os.Build.VERSION_CODES.R;
1010
import static org.junit.Assert.assertEquals;
@@ -28,7 +28,7 @@
2828
@TargetApi(P)
2929
public class SingleViewPresentationTest {
3030
@Test
31-
@Config(minSdk = JELLY_BEAN_MR1, maxSdk = R)
31+
@Config(minSdk = KITKAT, maxSdk = R)
3232
public void returnsOuterContextInputMethodManager() {
3333
// There's a bug in Android Q caused by the IMM being instanced per display.
3434
// https://github.com/flutter/flutter/issues/38375. We need the context returned by
@@ -59,7 +59,7 @@ public void returnsOuterContextInputMethodManager() {
5959
}
6060

6161
@Test
62-
@Config(minSdk = JELLY_BEAN_MR1, maxSdk = R)
62+
@Config(minSdk = KITKAT, maxSdk = R)
6363
public void returnsOuterContextInputMethodManager_createDisplayContext() {
6464
// The IMM should also persist across display contexts created from the base context.
6565

shell/platform/android/test_runner/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ println "AVAILABLE PROCESSORS: $availableProcessors"
3232
println "=========================================="
3333

3434
android {
35-
compileSdkVersion 33
35+
compileSdkVersion 34
3636

3737
defaultConfig {
38-
minSdkVersion 16
38+
minSdkVersion 19
3939
}
4040

4141
compileOptions {

testing/android_background_image/android/app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ android {
1616
// The others are irrelevant for a test application.
1717
disable 'UnpackedNativeCode','MissingApplicationIcon','GoogleAppIndexingApiWarning','GoogleAppIndexingWarning','GradleDependency','NewerVersionAvailable'
1818
}
19-
buildToolsVersion = '33.0.0'
20-
compileSdkVersion 33
19+
buildToolsVersion = '34.0.0'
20+
compileSdkVersion 34
2121
compileOptions {
2222
sourceCompatibility JavaVersion.VERSION_11
2323
targetCompatibility JavaVersion.VERSION_11
2424
}
2525
defaultConfig {
2626
applicationId 'dev.flutter.android_background_image'
27-
minSdkVersion 16
28-
targetSdkVersion 33
27+
minSdkVersion 19
28+
targetSdkVersion 34
2929
versionCode 1
3030
versionName '1.0'
3131
}

testing/scenario_app/android/app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ android {
1818
// The others are irrelevant for a test application.
1919
disable 'UnpackedNativeCode','MissingApplicationIcon','GoogleAppIndexingApiWarning','GoogleAppIndexingWarning','GradleDependency','NewerVersionAvailable','Registered'
2020
}
21-
buildToolsVersion = '33.0.0'
22-
compileSdkVersion 33
21+
buildToolsVersion = '34.0.0'
22+
compileSdkVersion 34
2323
compileOptions {
2424
sourceCompatibility JavaVersion.VERSION_11
2525
targetCompatibility JavaVersion.VERSION_11
2626
}
2727
defaultConfig {
2828
applicationId 'dev.flutter.scenarios'
29-
minSdkVersion 18
30-
targetSdkVersion 33
29+
minSdkVersion 19
30+
targetSdkVersion 34
3131
versionCode 1
3232
versionName '1.0'
3333
testInstrumentationRunner 'dev.flutter.TestRunner'

0 commit comments

Comments
 (0)