Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 358
assert Avatar asked May 13 '16 03:05

assert


2 Answers

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!

enter image description here

  • 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

like image 89
efkan Avatar answered Sep 17 '22 12:09

efkan


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

like image 21
Jickson Avatar answered Sep 18 '22 12:09

Jickson