Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔧 Building for Android fails with error #452

Open
3 of 4 tasks
losh11 opened this issue Sep 12, 2024 · 0 comments
Open
3 of 4 tasks

🔧 Building for Android fails with error #452

losh11 opened this issue Sep 12, 2024 · 0 comments

Comments

@losh11
Copy link

losh11 commented Sep 12, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant