如何将第三方aar纳入Android React本机模块?
我正在构建一个android React本机模块,我的代码从作为aar文件提供的第三方SDK导入类。我应该如何将此文件捆绑到我的模块中?我试着加上如何将第三方aar纳入Android React本机模块?,android,gradle,react-native,android-gradle-plugin,react-native-android,Android,Gradle,React Native,Android Gradle Plugin,React Native Android,我正在构建一个android React本机模块,我的代码从作为aar文件提供的第三方SDK导入类。我应该如何将此文件捆绑到我的模块中?我试着加上 allprojects { repositories { flatDir { dirs: 'libs' } } } 及 转到build.gradle文件,并将此my-external-lib.aar文件放入libs/文件夹,但在使用包含react-native my modul
allprojects {
repositories {
flatDir {
dirs: 'libs'
}
}
}
及
转到build.gradle文件,并将此my-external-lib.aar文件放入libs/
文件夹,但在使用包含react-native my module的react-native模块构建MyApp react-native应用程序时仍会出错:
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration
':app:_developmentDebugApkCopy'.
> Could not find :my-external-lib:.
Required by:
MyApp:app:unspecified > MyApp:react-native-my-module:unspecified
有什么建议吗?在您的设置中。梯度您应该包括此库,例如:
include ':app', ':my-external-lib'
您可以将其编译为普通项目,例如:compileproject(“:我的外部库”)
另外,您的my external lib
build.gradle应该是:
configurations.maybeCreate("default")
artifacts.add("default", file('my-external-lib.aar'))
看来我自己解决了这个问题。 似乎需要在主项目中定义
存储库
,以允许子项目定位它们的依赖项
将其放入主project build.gradle文件:
repositories {
flatDir {
dirs: 'libs'
}
}
成功了
但是我相信,这不是包含具有依赖项的子项目的正确方法,因为如果这个库是npm的第三方库,您显然不知道如何修改build.gradle文件。
那么,有人能解释一下为什么这样做,以及应该如何以正确的方式进行吗?在模块的
android/build.gradle
文件中,您需要将.aar
作为工件添加
configurations.maybeCreate("default")
artifacts.add("default", file("NAME_OF_YOUR_FILE.aar"))
你所写的都是绝对正确的,但你只是写错了地方
您已经在build.gradle(Project:Project\u name)中编写了代码
您只需在build.gradle(Module:app)文件中编写代码,.arr文件必须粘贴到projects lib文件夹中
i、 e.
存储库{
flatDir{
目录“libs”
}
}
依赖项{
... 其他部门…
编译(名称:'my-external-lib',分机:'aar')
}我成功地将第三方
.aar
文件包含到android react本机模块中
请看我对这个问题的回答:经过长时间的尝试,我终于找到了答案 以下是您应该如何做到这一点:
I您试图在react本机模块中使用第三方软件,而不是
依赖项{implementation“com.facebook.react:react native:${safeExtGet('reactnativeVersion','+')}的reactnativeModule/android/build.grindle
嘿,我完全遵循了,但我仍然在项目yyyyy中找不到路径为xxxx的项目。。如果可能的话,您可以共享模块的结构吗?这是在build.gradle的哪一部分?还是仅仅在文件的末尾?@gtfargo我已经尝试过了,但是aar中的类没有解析。您是如何创建的有效吗?
configurations.maybeCreate("default")
artifacts.add("default", file("NAME_OF_YOUR_FILE.aar"))