简体   繁体   中英

How to include '.jar' files in the React-native for Android?

My English is poor.

I'm a FRONT-END developer.

Now we need an App can use Bluetooth Printer, coding with React-Native for Android.

The Printer's manufacturer provided a SDK file,extension is 'jar'.

Please tell me how to use this SDK in the React-Native? then how to import in the JSX files?

Adding *.jar to the Project is done by using build.gradle file:

  • If you want to add a jar file to the project, Facebook had already done on your behalf!
    Just add a libs folder into the android/app directory of the project with your jar file and enjoy!

在此输入图像描述

  • If you want to add a jar file to a native-module then add the line of compile fileTree(dir: "libs", include: ["*.jar"]) into the dependencies part of build.gradle file of the native-module.

Example-1:

After I added okhttp-3.4.1.jar file into the lib folder, I also add that package name to the dependencies part as the following:

dependencies {
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile 'com.facebook.react:react-native:0.19.+'
}

Example-2:

If I need another package -that is found in Maven repo- I have to add into dependencies block as following (for instance I wanna add fresco ):

dependencies {
    compile 'com.facebook.fresco:fresco:1.9.0'
}

Then Gradle will find and install dependency library Fresco for me.

Usually, every Android project has already Maven repo. configurations in build.gradle file which is found in top of folder of the project. For example:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Example-3:

(I have never tried this however it should be worked)
If I have an drawee-debug.aar file I can add it into my project by putting it into lib folder as directed on Example-1 then I have to change fileTree line as following:

compile fileTree(dir: "libs", include: ["*.jar", "*.aar"])  // "*.aar" is added

Example-4:

(alternate way of Example-3)
If I have an drawee-debug.aar file also I can add it into my project by putting it into lib folder as directed on Example-1 then I have to change and add some lines as following:

dependencies {
    compile (name:'drawee-debug', ext:'aar')
}

allprojects {
    repositories {
        ...
        flatDir {
            dirs 'libs', './libs'
        }
        ...
    }
}

In this way, libs directory is defined in allprojects folder and aar file specified in dependencies block, like othe examples.

Note that after Gradle v3.0.1 implementation is used instead compile key word.

Kudos: https://stackoverflow.com/a/37092426/3765109

To integrate jar file to android see here .

In order to access the library functionality you need to create a react-native module for the functionalities which you want to access through javascript. For more info refer this

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM