react-native-quick-crypto icon indicating copy to clipboard operation
react-native-quick-crypto copied to clipboard

🔧 Building for Android fails with error

Open losh11 opened this issue 5 months ago • 0 comments

How were you trying to build the app?

Currently running quick-crypto 0.7.4, and gradle build fails with error:

/home/losh11/Repos/ltc/plasma/node_modules/react-native-quick-crypto/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java:45: Error: This declaration is opt-in and its usage should be marked with @com.facebook.react.common.annotations.FrameworkAPI or @OptIn(markerClass = com.facebook.react.common.annotations.FrameworkAPI.class) [UnsafeOptInUsageError from androidx.annotation.experimental]
        CallInvokerHolderImpl jsCallInvokerHolder = (CallInvokerHolderImpl) getReactApplicationContext()
                                                     ~~~~~~~~~~~~~~~~~~~~~

     Explanation for issues of type "UnsafeOptInUsageError":
     This API has been flagged as opt-in with error-level severity.

     Any declaration annotated with this marker is considered part of an
     unstable or
     otherwise non-standard API surface and its call sites should accept the
     opt-in
     aspect of it by using the @OptIn annotation, using the marker annotation
     --
     effectively causing further propagation of the opt-in aspect -- or
     configuring
     the UnsafeOptInUsageError check's options for project-wide opt-in.

     To configure project-wide opt-in, specify the opt-in option value in
     lint.xml
     as a comma-delimited list of opted-in annotations:

     <lint>
         <issue id="UnsafeOptInUsageError">
             <option name="opt-in" value="com.foo.ExperimentalBarAnnotation" />
         </issue>
     </lint>

     Vendor: Android Open Source Project
     Identifier: androidx.annotation.experimental
     Feedback: https://issuetracker.google.com/issues/new?component=459778

Full build logs

/home/losh11/Repos/ltc/plasma/node_modules/react-native-quick-crypto/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java:45: Error: This declaration is opt-in and its usage should be marked with @com.facebook.react.common.annotations.FrameworkAPI or @OptIn(markerClass = com.facebook.react.common.annotations.FrameworkAPI.class) [UnsafeOptInUsageError from androidx.annotation.experimental]
        CallInvokerHolderImpl jsCallInvokerHolder = (CallInvokerHolderImpl) getReactApplicationContext()
                                                     ~~~~~~~~~~~~~~~~~~~~~

     Explanation for issues of type "UnsafeOptInUsageError":
     This API has been flagged as opt-in with error-level severity.

     Any declaration annotated with this marker is considered part of an
     unstable or
     otherwise non-standard API surface and its call sites should accept the
     opt-in
     aspect of it by using the @OptIn annotation, using the marker annotation
     --
     effectively causing further propagation of the opt-in aspect -- or
     configuring
     the UnsafeOptInUsageError check's options for project-wide opt-in.

     To configure project-wide opt-in, specify the opt-in option value in
     lint.xml
     as a comma-delimited list of opted-in annotations:

     <lint>
         <issue id="UnsafeOptInUsageError">
             <option name="opt-in" value="com.foo.ExperimentalBarAnnotation" />
         </issue>
     </lint>

     Vendor: Android Open Source Project
     Identifier: androidx.annotation.experimental
     Feedback: https://issuetracker.google.com/issues/new?component=459778

Project dependencies

"dependencies": {
    "@bitcoinerlab/secp256k1": "^1.1.1",
    "@craftzdog/react-native-buffer": "^6.0.5",
    "@dr.pogodin/react-native-fs": "^2.28.0",
    "@moonpay/react-native-moonpay-sdk": "^0.9.1",
    "@noble/secp256k1": "^1.7.1",
    "@react-native-async-storage/async-storage": "^1.24.0",
    "@react-native-clipboard/clipboard": "^1.14.1",
    "@react-native-community/netinfo": "^11.3.2",
    "@react-native-community/slider": "^4.5.2",
    "@react-native-masked-view/masked-view": "^0.3.1",
    "@react-native-segmented-control/segmented-control": "^2.5.2",
    "@react-navigation/native": "^6.1.18",
    "@react-navigation/stack": "^6.4.1",
    "@reduxjs/toolkit": "^1.9.7",
    "@shopify/react-native-skia": "^1.3.13",
    "axios": "^1.7.2",
    "base58-js": "1.0.5",
    "bech32": "2.0.0",
    "bip32": "3.1.0",
    "bip39": "3.1.0",
    "bitcoinjs-lib": "6.1.6",
    "d3-scale": "^4.0.2",
    "d3-shape": "^3.2.0",
    "ecpair": "2.1.0",
    "expo": "^51.0.0",
    "expo-application": "~5.9.1",
    "expo-secure-store": "~13.0.2",
    "lodash.memoize": "^4.1.2",
    "protobufjs": "^7.4.0",
    "qs": "^6.13.0",
    "react": "18.2.0",
    "react-native": "0.74.1",
    "react-native-device-info": "^11.1.0",
    "react-native-gesture-handler": "^2.19.0",
    "react-native-get-random-values": "^1.11.0",
    "react-native-haptic-feedback": "^2.3.1",
    "react-native-icloudstore": "github:manicakes/react-native-icloudstore#20f20106d5c52adcef68ebb5b8833c5160eb4b50",
    "react-native-inappbrowser-reborn": "^3.7.0",
    "react-native-keychain": "^8.2.0",
    "react-native-linear-gradient": "^2.8.3",
    "react-native-localize": "^3.2.1",
    "react-native-mmkv": "^2.12.2",
    "react-native-modal": "^13.0.1",
    "react-native-qrcode-svg": "6.3.2",
    "react-native-quick-base64": "2.1.2",
    "react-native-quick-crypto": "0.7.4",
    "react-native-reanimated": "3.12.1",
    "react-native-reanimated-carousel": "^4.0.0-alpha.12",
    "react-native-safe-area-context": "^4.11.0",
    "react-native-screens": "3.32.0",
    "react-native-svg": "^15.6.0",
    "react-native-touch-id": "^4.4.1",
    "react-native-url-polyfill": "^2.0.0",
    "react-native-vision-camera": "^4.5.3",
    "react-native-webview": "^13.12.2",
    "react-redux": "^8.1.3",
    "redux-persist": "^6.0.0",
    "sha.js": "^2.4.11",
    "sha256-uint8array": "^0.10.7",
    "stream-browserify": "^3.0.0",
    "uuid": "^9.0.1"
  },

QuickCrypto Version

0.7.4

Target platforms

Android

Operating system

Windows

Can you build the QuickCrypto Example app?

I didn't try (⚠️ your issue might get ignored & closed if you don't try this)

Additional information

losh11 avatar Sep 12 '24 05:09 losh11