react-native-android - 在 React-Native Android 应用程序中使用 3rd Party AAR
问题描述
我正在尝试构建一个 React-Native Android 应用程序,该应用程序利用第 3 方 AAR 提供的功能,但不清楚一般过程以及所需的细节。
我已经使用这个 AAR 成功构建了一个 Android Studio 应用程序。
而且,我已经在这里搜索了文档(以及其他地方的帖子):https ://facebook.github.io/react-native/docs/tutorial ,但仍不清楚正确的过程。
我最初的尝试集中在尝试在 gradle 文件中找到正确的“实现”和/或“编译”命令,以及源文件中的正确“导入”语句。
我曾以为正确的做法可以访问 AAR 中的课程,但经过多次不成功的尝试后,我现在想知道是否还有更多需要做的事情。
例如,我是否需要按照此处所述构建桥接模块:https ://medium.com/@yushulx/react-native-bridging-modules-for-android-from-scratch-c651eeee7872 ?
根据我在这个主题上找到的几个问题/答案,我将此代码放在我的顶级 build.gradle 文件的“allprojects”部分中:
flatDir {
dirs 'libs'}
}
...并在 build.gradle 文件的“依赖项”部分中包含以下内容:
fileTree(dir: 'libs', include: '**/*.aar')
.each { File file ->
dependencies.add("compile", [
name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name },
ext: 'aar'])
}
...并在我的 app.js 文件中包含了各种形式的“导入”语句,例如:
import {EENMediaPlayerListener} from 'EENSDK';...
当我执行“react-native run-android”时,我收到以下错误消息:
error: bundling failed: Error: Unable to resolve module `EENSDK` from `C:\Users\Chuck\EE\App.js`: Module `EENSDK` does not exist in the Haste module map
EENSDK.aar 位于“C:\Users\Chuck\EE\android\app\libs”目录中。
如果我删除“import”语句,它编译时不会出错。
那么,我只是有“编译”、“实现”和“导入”语句错误,还是有更多的东西(如果有,我在哪里可以阅读)?
解决方案
推荐阅读
- javascript - 过渡时重叠元素的 setInterval 函数,
- shell - 将 perl 脚本转换为 shell 脚本:
和大嚼 - html - 在没有类或 id 的 div 中隐藏图像的一部分
- javascript - 如何控制 Nestjs 中的缓存?
- c++ - 从 C++ 中的文本文件中获取格式化的内容
- android - Android:查看返回 null
- python - 在 VS Code 中使用路径作为参数值设置自定义启动器(Flask - 证书路径)
- reactjs - 当组件变大时如何拆分组件。ReactJs 或 React Native
- php - pear mail.php & namecheap 服务器抛出错误
- node.js - 在 Nodejs Express 中为 HTTPS 读取证书和密钥时出现问题