首页 > 解决方案 > 在 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”语句,它编译时不会出错。

那么,我只是有“编译”、“实现”和“导入”语句错误,还是有更多的东西(如果有,我在哪里可以阅读)?

标签: react-native-androidaar

解决方案


推荐阅读