Created
May 7, 2019 11:44
-
-
Save SPodjasek/0a93fed9ca038169c5afe962f10a5d18 to your computer and use it in GitHub Desktop.
This file contains hidden or 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' |
Author
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
Author
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 doctorI wonder what is your flutter build command? I have tried the following:
flutter clean; flutter build appbundleon my computer still omit arm64-v8a/libflutter.soflutter clean; flutter build apksame resultflutter clean; flutter build apk --target-platform=android-arm64will have the opposite effect (armeabi-v7a/libflutter.so is missing)Here is my intermediates directory which looks absolutely fine.
