Android Resource Linking failed in Android 4.0.1

Viewed 1077

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
}
0 Answers
Related