如何在 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
关键字。
荣誉:
我的英语很差。
我是一名前端开发人员。
现在我们需要一个应用程序可以使用蓝牙打印机,用 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
关键字。
荣誉: