如何包含' .jar' Android的React-native中的文件?

时间:2016-05-13 03:12:27

标签: javascript java android react-native frontend

我的英语很差。

我是一名前端开发人员。

现在我们需要一个App可以使用蓝牙打印机,使用React-Native for Android进行编码。

打印机的制造商提供了一个SDK文件,扩展名为' jar'。

请告诉我如何在React-Native中使用此SDK?那么如何在JSX文件中导入?

2 个答案:

答案 0 :(得分:17)

使用*.jar文件

完成向项目添加build.gradle
  • 如果您想在项目中添加jar文件,Facebook已经代表您完成了!
    只需使用libs文件android/app目录添加到项目的jar目录中即可享受!

enter image description here

  • 如果您要将jar文件添加到native-module,请将compile fileTree(dir: "libs", include: ["*.jar"])行添加到原生dependencies文件的build.gradle部分 - 模。

示例1:

okhttp-3.4.1.jar 文件添加到lib文件夹后,我还将该包名称添加到依赖项部分,如下所示:

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

示例-2:

如果我需要另一个包 - 在Maven repo中找到 - 我必须添加到依赖块中,如下所示(例如我想添加fresco):

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

然后Gradle将为我找到并安装dependency library Fresco

通常,每个Android项目都已经有Maven回购。 build.gradle文件中的配置,该文件位于项目文件夹的顶部。 例如:

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

示例-3:

(我从来没有尝试过,但它应该有效)
如果我有一个drawee-debug.aar文件,我可以按照示例1的说明将其添加到lib文件夹中,然后我必须更改fileTree行,如下所示:

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

示例-4:

(实施例-3的替代方式)
如果我有一个drawee-debug.aar文件,我可以将它添加到我的项目中,按照示例-1的说明将其添加到lib文件夹中,然后我必须更改并添加一些如下行:

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

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

通过这种方式,libs目录在allprojects文件夹和aar块中指定的dependencies文件中定义,就像其他示例一样。

注意在Gradle v3.0.1 implementation之后使用compile关键字。

荣誉:https://stackoverflow.com/a/37092426/3765109

答案 1 :(得分:1)

要将jar文件集成到android,请参阅here

为了访问库功能,您需要为要通过javascript访问的功能创建react-native模块。有关详细信息,请参阅this