在React-Native Android应用中使用3rd Party AAR

时间:2019-02-04 15:21:50

标签: react-native-android aar

我正在尝试构建一个利用第三方AAR提供的功能的React-Native Android应用,但是对于总体流程以及所需的细节都不清楚。

我已经使用此AAR成功构建了Android Studio应用。

而且,我已经在这里搜索了文档(以及在其他地方发布的文档):https://facebook.github.io/react-native/docs/tutorial,但对于正确的过程仍然不清楚。

我最初的尝试集中在试图在gradle文件中找到正确的“实现”和/或“编译”命令以及在源文件中找到正确的“ import”语句的情况。

我曾经认为正确设置这些内容可以访问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”语句,它将编译而不会出错。

那么,我是否只是将“ compile”,“ implementation”和“ import”语句弄错了,还是还有其他内容(如果可以,我在哪里可以读到)?

0 个答案:

没有答案