From f80411d8937f8be9f944e234d99e1319e3e9231d Mon Sep 17 00:00:00 2001 From: Gary Qian Date: Thu, 6 Oct 2022 13:11:28 -0700 Subject: [PATCH] Upgrade targetSdkVersion and compileSdkVersion to 33 (#112936) --- packages/flutter_tools/gradle/flutter.gradle | 4 +- .../android_e2e_api_test.dart | 74 +++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 packages/flutter_tools/test/integration.shard/android_e2e_api_test.dart diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle index f77a1978ba..2cc7a58fa6 100644 --- a/packages/flutter_tools/gradle/flutter.gradle +++ b/packages/flutter_tools/gradle/flutter.gradle @@ -30,13 +30,13 @@ import org.gradle.util.VersionNumber /** For apps only. Provides the flutter extension used in app/build.gradle. */ class FlutterExtension { /** Sets the compileSdkVersion used by default in Flutter app projects. */ - static int compileSdkVersion = 31 + static int compileSdkVersion = 33 /** Sets the minSdkVersion used by default in Flutter app projects. */ static int minSdkVersion = 16 /** Sets the targetSdkVersion used by default in Flutter app projects. */ - static int targetSdkVersion = 31 + static int targetSdkVersion = 33 /** * Sets the ndkVersion used by default in Flutter app projects. diff --git a/packages/flutter_tools/test/integration.shard/android_e2e_api_test.dart b/packages/flutter_tools/test/integration.shard/android_e2e_api_test.dart new file mode 100644 index 0000000000..a409a96fb3 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/android_e2e_api_test.dart @@ -0,0 +1,74 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:file/file.dart'; +import 'package:flutter_tools/src/base/io.dart'; + +import '../src/common.dart'; +import 'test_utils.dart'; + +void main() { + late Directory tempDir; + + setUp(() async { + tempDir = createResolvedTempDirectorySync('run_test.'); + }); + + tearDown(() async { + tryToDelete(tempDir); + }); + + testWithoutContext('build succeeds with api 33 features', () async { + final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter'); + ProcessResult result = await processManager.run([ + flutterBin, + 'create', + tempDir.path, + '--project-name=testapp', + ], workingDirectory: tempDir.path); + expect(result.exitCode, 0); + + final File api33File = tempDir + .childDirectory('android') + .childDirectory('app') + .childDirectory('src') + .childDirectory('main') + .childDirectory('java') + .childFile('Android33Api.java'); + + api33File.createSync(recursive: true); + // AccessibilityManager.isAudioDescriptionRequested() is an API 33 feature + api33File.writeAsStringSync(''' +import android.app.Activity; +import android.view.accessibility.AccessibilityManager; +import androidx.annotation.Keep; +import io.flutter.Log; + +@Keep +public final class Android33Api extends Activity { + private AccessibilityManager accessibilityManager; + + public Android33Api() { + accessibilityManager = getSystemService(AccessibilityManager.class); + } + + public void doSomething() { + if (accessibilityManager.isAudioDescriptionRequested()) { + Log.e("flutter", "User has requested to enable audio descriptions"); + } + } +} + +'''); + + result = await processManager.run([ + flutterBin, + ...getLocalEngineArguments(), + 'build', + 'apk', + ], workingDirectory: tempDir.path); + expect(result.exitCode, 0); + expect(result.stdout.toString(), contains('app-release.apk')); + }); +}