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' |
I use flutter build appbundle
and it always include proper libs in output build/app/outputs/bundle/release/app.aab
.
Can you switch flutter to beta channel and check there?
* What went wrong:
A problem occurred evaluating root project 'android'.
> A problem occurred configuring project ':app'.
> Could not get unknown property 'mergeReleaseJniLibFolders' for project ':app' of type org.gradle.api.Project.
worked for me with flutter build appbundle. Thanks :D
- 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
Hi @SPodjasek, thanks for sharing the file. Mine, for the most part, looks identical.
Here is my
flutter doctor
I wonder what is your flutter build command? I have tried the following:
flutter clean; flutter build appbundle
on my computer still omit arm64-v8a/libflutter.soflutter clean; flutter build apk
same resultflutter clean; flutter build apk --target-platform=android-arm64
will have the opposite effect (armeabi-v7a/libflutter.so is missing)Here is my intermediates directory which looks absolutely fine.