NiklasMerz / cordova-plugin-fingerprint-aio

Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support
https://www.npmjs.com/package/cordova-plugin-fingerprint-aio
MIT License
323 stars 189 forks source link

Error when make Ionic android production release #215

Closed engmsaleh closed 3 years ago

engmsaleh commented 4 years ago

Description

I'm getting the following error as I'm trying to build release for Ionic Android

Cli command used ionic cordova run android --prod --release --keystore=keystore.jks --alias=alias

The error



<!-- Please use the search first to check if this bug report exists already -->

* What did you do?
Try to make an Android build release using the following command
`ionic cordova run android --prod --release --keystore=keystore.jks --alias=alias`

* What did happen?
Release failed with the above errors

* What did you expect to happen?
To build a release build successfully

## Environment

* Plugin version
`3.0.0`

* Build environment (```cordova info```)
* ```cordova platform ls```
```cordova-lib@9.0.1 with:
  cordova-common@3.2.0
  cordova-create@2.0.0
  cordova-fetch@2.0.1
  cordova-serve@3.0.0

Environment: 
  OS: darwin
  Node: v10.16.3
  npm: 6.13.3

Plugins:
  cordova-plugin-add-swift-support
  cordova-plugin-device
  cordova-plugin-dialogs
  cordova-plugin-fingerprint-aio
  cordova-plugin-globalization
  cordova-plugin-inappbrowser
  cordova-plugin-ionic-keyboard
  cordova-plugin-ionic-webview
  cordova-plugin-mfp
  cordova-plugin-nativestorage
  cordova-plugin-okhttp
  cordova-plugin-splashscreen
  cordova-plugin-statusbar
  cordova-plugin-whitelist
  cordova-sqlite-storage

Android platform:
  ERROR: android: Command failed with exit code ENOENT

iOS platform:
  Xcode 11.3
  Build version 11C29

config.xml <<EOF
<?xml version='1.0' encoding='utf-8'?>
<widget android-versionCode="1000100" id="com.Taleem" version="1.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:mfp="http://www.ibm.com/mobilefirst/cordova-plugin-mfp">
    <name>Taaleem</name>
    <description>Taaleem app</description>
    <author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="orientation" value="portrait" />
    <preference name="ScrollEnabled" value="false" />
    <preference name="StatusBarOverlaysWebView" value="true" />
    <preference name="StatusBarStyle" value="lightcontent" />
    <preference name="android-minSdkVersion" value="23" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="FadeSplashScreen" value="false" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="UseSwiftLanguageVersion" value="4.0" />
    <platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
        <icon height="20" src="resources/ios/icon/icon-20.png" width="20" />
        <icon height="40" src="resources/ios/icon/icon-20@2x.png" width="40" />
        <icon height="60" src="resources/ios/icon/icon-20@3x.png" width="60" />
        <icon height="48" src="resources/ios/icon/icon-24@2x.png" width="48" />
        <icon height="55" src="resources/ios/icon/icon-27.5@2x.png" width="55" />
        <icon height="29" src="resources/ios/icon/icon-29.png" width="29" />
        <icon height="58" src="resources/ios/icon/icon-29@2x.png" width="58" />
        <icon height="87" src="resources/ios/icon/icon-29@3x.png" width="87" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
        <icon height="88" src="resources/ios/icon/icon-44@2x.png" width="88" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
        <icon height="172" src="resources/ios/icon/icon-86@2x.png" width="172" />
        <icon height="196" src="resources/ios/icon/icon-98@2x.png" width="196" />
        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
        <splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
        <splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
    </platform>
    <allow-navigation href="http://192.168.1.116:8100" sessionid="9c353984" />
    <mfp:android>
        <mfp:sdkChecksum>2405394652</mfp:sdkChecksum>
        <mfp:appChecksum>0</mfp:appChecksum>
        <mfp:security>
            <mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
        </mfp:security>
    </mfp:android>
    <mfp:ios>
        <mfp:sdkChecksum>336151202</mfp:sdkChecksum>
        <mfp:appChecksum>0</mfp:appChecksum>
        <mfp:security>
            <mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
        </mfp:security>
    </mfp:ios>
    <mfp:windows>
        <mfp:windows8>
            <mfp:sdkChecksum>0</mfp:sdkChecksum>
            <mfp:security>
                <mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
            </mfp:security>
        </mfp:windows8>
        <mfp:windowsphone8>
            <mfp:sdkChecksum>0</mfp:sdkChecksum>
            <mfp:security>
                <mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
            </mfp:security>
        </mfp:windowsphone8>
        <mfp:windows10>
            <mfp:sdkChecksum>0</mfp:sdkChecksum>
            <mfp:security>
                <mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
            </mfp:security>
        </mfp:windows10>
        <mfp:appChecksum>0</mfp:appChecksum>
    </mfp:windows>
    <mfp:platformVersion>8.0.0.00-20190910-142437</mfp:platformVersion>
    <mfp:clientCustomInit enabled="false" />
    <mfp:server runtime="MOESTG" url="https://stg-ajyalqatar.edu.gov.qa" />
    <mfp:serverUri url="" />
    <mfp:directUpdateAuthenticityPublicKey />
    <mfp:languagePreferences>en</mfp:languagePreferences>
    <mfp:APIproxyURL>/adapters/MobileAPIProxy</mfp:APIproxyURL>
    <engine name="browser" spec="6.0.0" />
    <engine name="ios" spec="^5.1.0" />
    <plugin name="cordova-plugin-whitelist" spec="1.3.3" />
    <plugin name="cordova-plugin-statusbar" spec="2.4.2" />
    <plugin name="cordova-plugin-device" spec="2.0.2" />
    <plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
    <plugin name="cordova-plugin-ionic-webview" spec="^4.0.0">
        <variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
    </plugin>
    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
    <plugin name="cordova-plugin-inappbrowser" spec="^3.1.0" />
    <plugin name="cordova-plugin-mfp" spec="^8.0.2019091217" />
    <plugin name="cordova-sqlite-storage" />
</widget>

EOF

package.json <<EOF
{
  "name": "moe",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "~8.1.2",
    "@angular/compiler": "~8.1.2",
    "@angular/core": "~8.1.2",
    "@angular/forms": "~8.1.2",
    "@angular/platform-browser": "~8.1.2",
    "@angular/platform-browser-dynamic": "~8.1.2",
    "@angular/router": "~8.1.2",
    "@ionic-native/core": "^5.18.0",
    "@ionic-native/dialogs": "^5.18.0",
    "@ionic-native/fingerprint-aio": "^5.18.0",
    "@ionic-native/in-app-browser": "^5.18.0",
    "@ionic-native/splash-screen": "^5.18.0",
    "@ionic-native/status-bar": "^5.18.0",
    "@ionic/angular": "^4.11.7",
    "@ionic/storage": "^2.2.0",
    "@ngx-translate/core": "^11.0.1",
    "@ngx-translate/http-loader": "^4.0.0",
    "cordova-android": "^8.1.0",
    "cordova-browser": "6.0.0",
    "cordova-ios": "^5.1.1",
    "cordova-plugin-device": "2.0.2",
    "cordova-plugin-dialogs": "^2.0.2",
    "cordova-plugin-fingerprint-aio": "^3.0.0",
    "cordova-plugin-globalization": "^1.11.0",
    "cordova-plugin-inappbrowser": "^3.1.0",
    "cordova-plugin-ionic-keyboard": "^2.0.5",
    "cordova-plugin-mfp": "^8.0.2019120904",
    "cordova-plugin-okhttp": "^2.0.0",
    "cordova-plugin-splashscreen": "5.0.2",
    "cordova-plugin-statusbar": "2.4.2",
    "cordova-plugin-whitelist": "1.3.3",
    "core-js": "^2.6.11",
    "ibm-mfp-web-sdk": "^8.0.2019120211",
    "ionic2-calendar": "^0.5.7",
    "jsencrypt": "^3.0.0-rc.1",
    "ng-circle-progress": "^1.5.1",
    "rxjs": "~6.5.1",
    "scalts": "^1.1.0",
    "scalts-array": "^0.7.0",
    "sw-toolbox": "^3.6.0",
    "ts-json-definition": "0.0.3",
    "ts-md5": "^1.2.7",
    "ts-serialize": "^1.3.2",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/architect": "~0.801.2",
    "@angular-devkit/build-angular": "~0.801.2",
    "@angular-devkit/core": "~8.1.2",
    "@angular-devkit/schematics": "~8.1.2",
    "@angular/cli": "~8.1.2",
    "@angular/compiler": "~8.1.2",
    "@angular/compiler-cli": "~8.1.2",
    "@angular/language-service": "~8.1.2",
    "@ionic/angular-toolkit": "~2.0.0",
    "@ionic/lab": "2.0.13",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "^2.0.8",
    "@types/node": "~8.9.4",
    "codelyzer": "^5.2.0",
    "cordova-plugin-device": "^2.0.3",
    "cordova-plugin-ionic-keyboard": "^2.2.0",
    "cordova-plugin-ionic-webview": "^4.1.3",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.4.3"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-webview": {
        "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
      },
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-mfp": {},
      "cordova-sqlite-storage": {},
      "cordova-plugin-dialogs": {},
      "cordova-plugin-fingerprint-aio": {
        "FACEID_USAGE_DESCRIPTION": " "
      }
    },
    "platforms": [
      "browser",
      "ios",
      "android"
    ]
  }
}```

### Logs

<details>
  <pre>[Note: the configuration refers to the unknown class 'okhttp3.internal.publicsuffix.PublicSuffixDatabase'
Warning: com.exxbrain.android.biometric.BiometricFragment: can't find referenced method 'android.hardware.biometrics.BiometricPrompt$Builder setConfirmationRequired(boolean)' in library class android.hardware.biometrics.BiometricPrompt$Builder
Warning: com.exxbrain.android.biometric.BiometricFragment: can't find referenced method 'android.hardware.biometrics.BiometricPrompt$Builder setDeviceCredentialAllowed(boolean)' in library class android.hardware.biometrics.BiometricPrompt$Builder
Warning: com.exxbrain.android.biometric.BiometricManager: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.SSLParametersImpl
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class sun.security.ssl.SSLContextImpl
Note: com.worklight.common.WLAnalytics: can't find dynamically referenced class com.worklight.analytics.feedback.Feedback
Note: com.worklight.common.WLAnalytics: can't find dynamically referenced class com.worklight.analytics.feedback.Feedback
Note: com.worklight.common.security.PRNGFixes: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.NativeCrypto
Note: com.worklight.common.security.PRNGFixes: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.NativeCrypto
Note: okhttp3.internal.platform.AndroidPlatform: can't find dynamically referenced class com.android.org.conscrypt.SSLParametersImpl
Note: okhttp3.internal.platform.AndroidPlatform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
Note: okhttp3.internal.platform.Platform: can't find dynamically referenced class sun.security.ssl.SSLContextImpl

> Task :app:transformClassesAndResourcesWithProguardForRelease
Request to incrementing alive workforce from 0. Current workforce (dead or alive) 0
thread-pool size=4

Note: there were 1 references to unknown classes.
      You should check your configuration for typos.
      (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
Note: there were 10 unresolved dynamic references to classes or interfaces.
      You should check if you need to specify additional program jars.
      (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Warning: there were 8 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Warning: there were 2 unresolved references to library class members.
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
Thread(Tasks limiter_1): destruction
         You probably need to update the library versions.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)

> Task :app:transformClassesAndResourcesWithProguardForRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 28s
36 actionable tasks: 11 executed, 25 up-to-date
/Users/mohamedsaleh/Repos/GBM/moe-mobile/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Warning: com.exxbrain.android.biometric.BiometricFragment: can't find referenced method 'android.hardware.biometrics.BiometricPrompt$Builder setConfirmationRequired(boolean)' in library class android.hardware.biometrics.BiometricPrompt$Builder
Warning: com.exxbrain.android.biometric.BiometricFragment: can't find referenced method 'android.hardware.biometrics.BiometricPrompt$Builder setDeviceCredentialAllowed(boolean)' in library class android.hardware.biometrics.BiometricPrompt$Builder
Warning: com.exxbrain.android.biometric.BiometricManager: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: com.exxbrain.android.biometric.BiometricManager$Api29Impl: can't find referenced class android.hardware.biometrics.BiometricManager
Warning: there were 8 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Warning: there were 2 unresolved references to library class members.
         You probably need to update the library versions.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 28s
[ERROR] An error occurred while running subprocess cordova.

        cordova build android --release exited with exit code 1.]</pre>
</details>
NiklasMerz commented 4 years ago

@exxbrain Do you have an idea?

exxbrain commented 4 years ago

@NiklasMerz, I think using sources instead of aar will help. It looks not so hard to make this change.

NiklasMerz commented 4 years ago

Using sources should also fix #209

jarekskuder commented 4 years ago

I still have this problem when using 3.0.1 version

mread1208 commented 4 years ago

Same, still having an issue with 3.0.1 and cordova-android 8.1.0. What does "Use Sources" mean? Can you give code example?

mread1208 commented 4 years ago

I was able to get around the issue to get the build created at least.... but I doubt it's the best solution. I haven't tested in a production env yet so I don't even know if that it fully works and I half expect there to be issues whenever we start testing the next Android version.

Our app uses the cordova-plugin-proguard plugin to allow us to configure some of the proguard settings. I followed the steps in the "How to use" section to create a proguard-custom.txt file in the project root and added this line:

-dontwarn com.exxbrain.android.biometric.*

Again follow the steps on the npm plugin page, after creating the custom txt file, you have to first remove the plugin and add it back:

ionic cordova plugin remove cordova-plugin-proguard
ionic cordova plugin add cordova-plugin-proguard

Then remove the android platform and add it back to take in the new changes

ionic cordova platform rm android
ionic cordova platform add android

Then do production build: ionic cordova build android --prod --release --keystore='keystore.jks' --storePassword='yourpassword' --alias='alias' --password='yourpassword'

Again... seems like a band-aid solution and probably doesn't actually fix the real issues of not being able to find the libs... I wonder if we need to move this project to androidx now?

NiklasMerz commented 3 years ago

This should be gone with the latest version