Я пытаюсь создать приложение 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" или есть что-то еще (и если да, то где я могу прочитать об этом)?