android - 构建一个使用 Android AAR 库的 React Native 模块

标签 android react-native gradle aar linphone

我正在尝试为 React Native (react-native-liblinphone) 构建一个 liblinphone 的包装器。我从 Android 实现开始,我正在使用 linphone 提供的 SDK 的 .aar 文件。

React Native 模块自行成功构建,但当它链接到 RN 应用程序时(使用 react native link),应用程序构建无法找到 SDK(无法解析: :liblinphone-sdk:).

来自 react-native-liblinphone build.gradle:

repositories {
    mavenCentral()
    flatDir { dirs 'libs' }
}

dependencies {
    compile 'com.facebook.react:react-native:+'
    compile(name: 'liblinphone-sdk', ext: 'aar')
}

来自应用程序 settings.gradle:

include ':react-native-liblinphone'
project(':react-native-liblinphone').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-liblinphone/android')
include ':react-native-contacts'
project(':react-native-contacts').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-contacts/android')
include ':react-native-vector-icons'
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')

include ':app'

来自应用程序 build.gradle:

dependencies {
    compile project(':react-native-liblinphone')
    compile project(':react-native-contacts')
    compile project(':react-native-vector-icons')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
}

最佳答案

无需更改应用程序的 gradle 或 settings.gradle,只需对原生模块的 gradle 进行以下更改:

repositories {
    mavenCentral()
    flatDir { dirs "$rootDir/../node_modules/react-native-liblinphone/android/libs" }
}

希望对您有所帮助!

关于android - 构建一个使用 Android AAR 库的 React Native 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831441/

相关文章:

php - 将 Android 数据库与服务器数据库同步

android - 有没有办法检测设备上是否正在运行 Sense UI?

android - 我可以使用相同的 React Native 代码与 iOS 和 Android 中的 WebView 交互吗?

android - Linking.getInitialURL() 在用于深度链接后未被清除

Android 图像缩放为什么不使用 ScrollView

ios - 在 Xcode 中运行初始化的 React Native 项目时出错

java - 升级到 Gradle 5 后的 Querydsl 注释处理器问题

java - 未被任何处理器识别

java - 使用 Gradle 时如何排除传递依赖项的所有实例?

java - Android - Activity 中方法的单元测试