Created
May 7, 2019 11:44
-
-
Save SPodjasek/0a93fed9ca038169c5afe962f10a5d18 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def localProperties = new Properties() | |
def localPropertiesFile = rootProject.file('local.properties') | |
if (localPropertiesFile.exists()) { | |
localPropertiesFile.withReader('UTF-8') { reader -> | |
localProperties.load(reader) | |
} | |
} | |
def flutterRoot = localProperties.getProperty('flutter.sdk') | |
if (flutterRoot == null) { | |
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") | |
} | |
def flutterVersionCode = localProperties.getProperty('flutter.versionCode') | |
if (flutterVersionCode == null) { | |
flutterVersionCode = '1' | |
} | |
def flutterVersionName = localProperties.getProperty('flutter.versionName') | |
if (flutterVersionName == null) { | |
flutterVersionName = '1.0' | |
} | |
apply plugin: 'com.android.application' | |
apply plugin: 'kotlin-android' | |
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" | |
def keystorePropertiesFile = rootProject.file("key.properties") | |
def keystoreProperties = new Properties() | |
keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) | |
android { | |
compileSdkVersion 28 | |
lintOptions { | |
disable 'InvalidPackage' | |
checkReleaseBuilds false | |
} | |
defaultConfig { | |
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). | |
applicationId "xxx" | |
minSdkVersion 16 | |
targetSdkVersion 28 | |
versionCode flutterVersionCode.toInteger() | |
versionName flutterVersionName | |
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | |
} | |
signingConfigs { | |
release { | |
keyAlias keystoreProperties['keyAlias'] | |
keyPassword keystoreProperties['keyPassword'] | |
storeFile file(keystoreProperties['storeFile']) | |
storePassword keystoreProperties['storePassword'] | |
} | |
} | |
buildTypes { | |
release { | |
signingConfig signingConfigs.release | |
minifyEnabled true | |
useProguard true | |
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | |
} | |
} | |
} | |
flutter { | |
source '../..' | |
} | |
afterEvaluate { | |
mergeReleaseJniLibFolders.doLast { | |
def archTypes = ["arm-release", "arm64-release"] | |
archTypes.forEach { item -> | |
copy { | |
from zipTree("$flutterRoot/bin/cache/artifacts/engine/android-$item/flutter.jar") | |
include 'lib/*/libflutter.so' | |
into "$buildDir/intermediates/jniLibs/release/" | |
eachFile { | |
it.path = it.path.replaceFirst("lib/", "") | |
} | |
} | |
} | |
} | |
} | |
dependencies { | |
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" | |
implementation "com.google.firebase:firebase-core:16.0.1" | |
implementation "com.google.firebase:firebase-messaging:17.1.0" | |
testImplementation 'junit:junit:4.12' | |
androidTestImplementation 'com.android.support.test:runner:1.0.2' | |
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' | |
} | |
apply plugin: 'com.google.gms.google-services' |
- What went wrong:
A problem occurred evaluating project ':app'.
Could not find method fterEvaluate() for arguments [build_8a95qgiavjx0ev0fdlftv5rhy$_run_closure4@c9821b4] on project ':app' of type
org.gradle.api.Project.
what went wrong
IMHO There's no need to use this custom app_build.gradle
anymore as proper multi-arch support has landed in mainline flutter...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
worked for me with flutter build appbundle. Thanks :D