【问题标题】:Building a react native module that uses an Android AAR library构建使用 Android AAR 库的反应原生模块
【发布时间】:2018-02-16 16:52:49
【问题描述】:

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

React Native 模块自行构建成功,但是当它链接到 RN 应用程序(使用 react native link)时,应用程序构建无法找到 SDK (Failed to resolve: :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
}

【问题讨论】:

    标签: android react-native gradle aar linphone


    【解决方案1】:

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

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

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2016-05-10
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多