I want to build a project and It shows the following error message. While i clean the project its cleaned successfully but when i make project or rebuild project in android Studio 4.0.1 it show an error that Android Resource Linking Failed.
Error Message
Android resource linking failed
AAPT: unknown option '--proguard-minimal-keep-rules'.
aapt2 link [options] -o arg --manifest arg files...
Options:
-o arg Output path.
--manifest arg Path to the Android manifest to build.
-I arg Adds an Android APK to link against.
-A arg An assets directory to include in the APK. These are unprocessed.
-R arg Compilation unit to link, using `overlay` semantics.
The last conflicting resource given takes precedence.
--package-id arg Specify the package ID to use for this app. Must be greater or equal to
0x7f and can't be used with --static-lib or --shared-lib.
--java arg Directory in which to generate R.java.
--proguard arg Output file for generated Proguard rules.
--proguard-main-dex arg Output file for generated Proguard rules for the main dex.
--proguard-conditional-keep-rules Generate conditional Proguard keep rules.
--no-auto-version Disables automatic style and layout SDK versioning.
--no-version-vectors Disables automatic versioning of vector drawables. Use this only
when building with vector drawable support library.
--no-version-transitions Disables automatic versioning of transition resources. Use this only
when building with transition support library.
--no-resource-deduping Disables automatic deduping of resources with
identical values across compatible configurations.
--enable-sparse-encoding This decreases APK size at the cost of resource retrieval performance.
-x Legacy flag that specifies to use the package identifier 0x01.
-z Require localization of strings marked 'suggested'.
-c arg Comma separated list of configurations to include. The default
is all configurations.
--preferred-density arg Selects the closest matching density and strips out all others.
--product arg Comma separated list of product names to keep
--output-to-dir Outputs the APK contents to a directory specified by -o.
--no-xml-namespaces Removes XML namespace prefix and URI information
from AndroidManifest.xml and XML binaries in res/*.
--min-sdk-version arg Default minimum SDK version to use for AndroidManifest.xml.
--target-sdk-version arg Default target SDK version to use for AndroidManifest.xml.
--version-code arg Version code (integer) to inject into the AndroidManifest.xml if none is
present.
--version-code-major arg Version code major (integer) to inject into the AndroidManifest.xml if none is
present.
--version-name arg Version name to inject into the AndroidManifest.xml if none is present.
--replace-version If --version-code and/or --version-name are specified, these
values will replace any value already in the manifest. By
default, nothing is changed if the manifest already defines
these attributes.
--compile-sdk-version-code arg Version code (integer) to inject into the AndroidManifest.xml if none is
present.
--compile-sdk-version-name arg Version name to inject into the AndroidManifest.xml if none is present.
--shared-lib Generates a shared Android runtime library.
--static-lib Generate a static Android library.
--proto-format Generates compiled resources in Protobuf format.
Suitable as input to the bundle tool for generating an App Bundle.
--no-static-lib-packages Merge all library resources under the app's package.
--non-final-ids Generates R.java without the final modifier. This is implied when
--static-lib is specified.
--stable-ids arg File containing a list of name to ID mapping.
--emit-ids arg Emit a file at the given path with a list of name to ID mappings,
suitable for use with --stable-ids.
--private-symbols arg Package name to use when generating R.java for private symbols.
If not specified, public and private symbols will use the application's
package name.
--custom-package arg Custom Java package under which to generate R.java.
--extra-packages arg Generate the same R.java but with different package names.
--add-javadoc-annotation arg Adds a JavaDoc annotation to all generated Java classes.
--output-text-symbols arg Generates a text file containing the resource symbols of the R class in
the specified folder.
--allow-reserved-package-id Allows the use of a reserved package ID. This should on be used for
packages with a pre-O min-sdk
--auto-add-overlay Allows the addition of new resources in overlays without
<add-resource> tags.
--rename-manifest-package arg Renames the package in AndroidManifest.xml.
--rename-instrumentation-target-package arg Changes the name of the target package for instrumentation. Most useful
when used in conjunction with --rename-manifest-package.
-0 arg File extensions not to compress.
--no-compress Do not compress any resources.
--warn-manifest-validation Treat manifest validation errors as warnings.
--split arg Split resources matching a set of configs out to a Split APK.
Syntax: path/to/output.apk:<config>[,<config>[...]].
On Windows, use a semicolon ';' separator instead.
-v Enables verbose logging.
--debug-mode Inserts android:debuggable="true" in to the application node of the
manifest, making the application debuggable even on production devices.
--strict-visibility Do not allow overlays with different visibility levels.
-h Displays this help menu
My App level Build.gradle file is given below. Build.gradle(Module:app)
apply plugin: 'com.android.application'
ext {
androidSupportLibraryVersion = "29.0.2"
}
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.northghost.hydraclient"
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "String", "BASE_HOST", "\"https://backend.northghost.com\""
buildConfigField "String", "BASE_CARRIER_ID", "\"afdemo\""
buildConfigField "String", "BASE_OAUTH_METHOD", "\"anonymous\""
buildConfigField "String", "SHARED_PREFS", "\"NORTHGHOST_SHAREDPREFS\""
buildConfigField "String", "STORED_HOST_URL_KEY", "\"com.northghost.afvclient.STORED_HOST_KEY\""
buildConfigField "String", "STORED_CARRIER_ID_KEY", "\"com.northghost.afvclient.CARRIER_ID_KEY\""
}
signingConfigs {
release {
keyAlias 'demo'
keyPassword 'demodemo'
storeFile file("${rootProject.projectDir}/demo.keystore")
storePassword 'demodemo'
}
}
buildTypes {
release {
minifyEnabled true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
buildToolsVersion = '29.0.2'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:sdk:3.3.0'
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:openvpn:3.3.0'
implementation 'de.hdodenhof:circleimageview:3.1.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.intuit.sdp:sdp-android:1.0.6'
implementation 'com.google.android.material:material:1.1.0'
implementation 'com.android.support:design:29.0.2'
implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
}
Project level build.gradle is given below. build.gradle
buildscript {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://jitpack.io"
credentials { username "48a9b4c06b5dabbc03328ddcdbb7dfd8fab253ae" }
}
maven { url 'https://maven.google.com' }
google()
}
configurations.matching { it.name == '_internal_aapt2_binary' }.all { config ->
config.resolutionStrategy.eachDependency { details ->
details.useVersion("3.3.2-5309881")
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}