如何在 Android 的 React-native 中包含“.jar”文件?

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

我的英语很差。

我是一名前端开发人员。

现在我们需要一个应用程序可以使用蓝牙打印机,用 React-Native 编码 Android。

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

请问如何在React-Native中使用这个SDK?那么如何导入JSX文件呢?

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

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

*.jar 添加到项目是通过使用 build.gradle 文件完成的:

  • 如果你想添加一个 jar 文件到项目中,Facebook 已经帮你完成了!
    只需将一个 libs 文件夹添加到包含您的 jar 文件 的项目的 android/app 目录中即可!

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

示例 1:

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

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

示例 2:

如果我需要另一个包——在 Maven 仓库中找到——我必须添加到依赖块中,如下所示(例如我想添加 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 块中指定,就像其他示例一样。

注意在Gradlev3.0.1之后使用implementation代替compile关键字。

荣誉: