![auto-submit[bot]](/assets/img/avatar_default.png)
Reverts: flutter/flutter#152487 Initiated by: gmackall Reason for reverting: I forgot that I need to override the compileSdkVersion in the AGP 8.0 [instance of this test](ef9cd32f5a/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart (L19)
) Original PR Author: gmackall Reviewed By: {reidbaker} This change reverts the following previous change: Updates `compileSdk`, `targetSdk`, and `ndk` versions (former 2 to latest, latter to the version of the ndk we are hosting on CIPD). Summary of changes: - Updates mentioned template values - `compileSdk` 35 requires AGP 8.0+, so updated to 8.1 in many places. - This also necessitated Gradle upgrades in most places - This also necessitated moving the `package` xml attribute to the AGP `namespace` field in a couple places (test + template). - Some tests use the output of `flutter create` but then use intentionally lower AGP versions. [I downgraded the `compileSdk` in these tests.](fee34fd61a
) - [Stopped lockfile generation](82324a2570
) script from hitting the `hello_world` example because it uses `.kts` gradle files. - One test needed [some Gradle options we had already added to templates](6aa187b4b6
).
100 lines
3.1 KiB
Dart
100 lines
3.1 KiB
Dart
// 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 'basic_project.dart';
|
|
import 'deferred_components_config.dart';
|
|
import 'deferred_components_project.dart';
|
|
|
|
/// Project which can load native plugins
|
|
class PluginProject extends BasicProject {
|
|
@override
|
|
final DeferredComponentsConfig? deferredComponents =
|
|
PluginDeferredComponentsConfig();
|
|
}
|
|
|
|
class PluginDeferredComponentsConfig extends BasicDeferredComponentsConfig {
|
|
@override
|
|
String get androidBuild => r'''
|
|
buildscript {
|
|
ext.kotlin_version = '1.7.10'
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:7.3.0'
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
}
|
|
configurations.classpath {
|
|
resolutionStrategy.activateDependencyLocking()
|
|
}
|
|
}
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
rootProject.buildDir = '../build'
|
|
subprojects {
|
|
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
|
}
|
|
subprojects {
|
|
project.evaluationDependsOn(':app')
|
|
dependencyLocking {
|
|
ignoredDependencies.add('io.flutter:*')
|
|
lockFile = file("${rootProject.projectDir}/project-${project.name}.lockfile")
|
|
if (!project.hasProperty('local-engine-repo')) {
|
|
lockAllConfigurations()
|
|
}
|
|
}
|
|
}
|
|
tasks.register("clean", Delete) {
|
|
delete rootProject.buildDir
|
|
}
|
|
''';
|
|
|
|
@override
|
|
String get androidSettings => r'''
|
|
include ':app'
|
|
|
|
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
|
|
def properties = new Properties()
|
|
|
|
assert localPropertiesFile.exists()
|
|
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
|
|
|
|
def flutterSdkPath = properties.getProperty("flutter.sdk")
|
|
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
|
|
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
|
|
''';
|
|
|
|
@override
|
|
String get appManifest => r'''
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="com.yourcompany.flavors">
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
<application
|
|
android:name="${applicationName}"
|
|
android:label="flavors">
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:exported="true"
|
|
android:launchMode="singleTop"
|
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
|
android:hardwareAccelerated="true"
|
|
android:windowSoftInputMode="adjustResize">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
<category android:name="android.intent.category.LAUNCHER"/>
|
|
</intent-filter>
|
|
</activity>
|
|
<meta-data
|
|
android:name="flutterEmbedding"
|
|
android:value="2" />
|
|
</application>
|
|
</manifest>
|
|
''';
|
|
}
|