Использование стороннего AAR в приложении React-Native для Android - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь создать приложение React-Native для Android, которое использует функциональные возможности, предоставляемые сторонним AAR, но неясно, как в общем процессе, так и в отношении требуемых особенностей.

Я успешно собралприложение Android Studio, использующее этот AAR.

И я просмотрел здесь документацию (и сообщения в других местах): https://facebook.github.io/react-native/docs/tutorial, но остаюсь неясным относительно правильного процесса.

MyПервоначальные попытки были сосредоточены вокруг попыток найти правильные команды «реализации» и / или «компиляции» в файлах Gradle в сочетании с правильными инструкциями «импорта» в исходных файлах.

IЯ предполагал, что получение этих правильных данных даст доступ к классам в AAR, но после многочисленных неудачных попыток я теперь задаюсь вопросом, нужно ли что-то еще сделать.

Например, нужно ли мне построить мостовой модуль какздесь описано: https://medium.com/@yushulx/react-native-bridging-modules-for-android-from-scratch-c651eeee7872?

На основании нескольких вопросов / ответов, которые я нашел по этой теме, я поместил этот код в раздел "allprojects" моего файла build.gradle верхнего уровня:

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']) } ... и включили различные формы операторов «import» в мой файл app.js, например:

import {EENMediaPlayerListener} from 'EENSDK';...

Когда я выполняю «response-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", "creation" и "import" или есть что-то еще (и если да, то где я могу прочитать об этом)?

...