No such property: ABI for class: org.gradle.api.tasks.OutputFile
10,527
Solution 1
Okay I found the solution. Adding
import com.android.build.OutputFile
to the build.gradle(for app) solved the problem
Solution 2
replace this line in build.gradle(:app)
def abi = output.getFilter(OutputFile.ABI)
with:
def abi = output.getFilter(com.android.build.OutputFile.ABI)
Author by
Mehmet
Updated on June 06, 2022Comments
-
Mehmet about 2 years
I am brand new on development of React Native. I developed a small project and want to have a release APK. Bu I go stack on release build. Can anyone help me? Thank you.
The error is
No such property: ABI for class: org.gradle.api.tasks.OutputFile org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app' Caused by: groovy.lang.MissingPropertyException: No such property: ABI for class: org.gradle.api.tasks.OutputFile
build.gradle(app)
apply plugin: "com.android.application" project.ext.react = [ resourcesDirRelease: "$buildDir/intermediates/res/merged/release", ] apply from: "../../node_modules/react-native/react.gradle" def enableSeparateBuildPerCPUArchitecture = false /** * Run Proguard to shrink the Java bytecode in release builds. */ def enableProguardInReleaseBuilds = false android { compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "com.ninjakod.vehiclevalue" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" ndk { abiFilters "armeabi-v7a", "x86" } } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86" } } signingConfigs { release { if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release } } // applicationVariants are e.g. debug, release applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits def versionCodes = ["armeabi-v7a":1, "x86":2] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } buildToolsVersion '27.0.3' } dependencies { compile project(':react-native-admob') implementation project(':react-native-admob') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation "com.facebook.react:react-native:+" // From node_modules } // Run this once to be able to run the application with BUCK // puts all compile dependencies into folder libs for BUCK to use task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' }
build.gradle(SampleMobileApp)
buildscript { repositories { jcenter() maven { url 'https://maven.google.com/' name 'Google' } google() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0-alpha11' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } maven { url 'https://maven.google.com/' name 'Google' } } } ext { buildToolsVersion = "26.0.3" minSdkVersion = 16 compileSdkVersion = 26 targetSdkVersion = 26 supportLibVersion = "26.1.0" }