我正在尝试为 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/