编译reactandroid,fbjni误差



从github下载,以使moudle'reactandroid',然后:

Error:(687) Android NDK: Module reactnativejnifb depends on undefined modules: fbjni    
Error:(700) *** Android NDK: Aborting (set APP_ALLOW_MISSING_DEPS=true to allow missing dependencies)    
Error:Execution failed for task ':ReactAndroid:buildReactNdkLib'.
Process 'command '/Users/sumomokawaakira/Downloads/adt-bundle-mac-x86_64/sdk/ndk-bundle/ndk-build'' finished with non-zero exit value 2

我也遇到了这个问题。我认为您可以通过确保使用Android NDK(android-ndk-r10e)的精确版本来解决它。

还确保您设置了正确完成的环境变量和工作。

(对于以后的步骤,我的价值是值得的,但希望这应该可以帮助您通过此特定问题)

您必须将路径更改为android_ndk才能在本地运行gradle命令。

export ANDROID_NDK=/Users/your_unix_name/android-ndk/android-ndk-r10e

就我而言,我将NDK文件放在/Users/tomo/temp/android-ndk-r10e

所以 导出android_ndk =/用户/tomo/temp/android-ndk-r10e

或如果您不想更改Android_ndk,则可以更新ReactAndroid/build.gradle

def findNdkBuildFullPath() {
    // we allow to provide full path to ndk-build tool
    if (hasProperty('ndk.command')) {
        return property('ndk.command')
    }
    // or just a path to the containing directory
    if (hasProperty('ndk.dir')) {
        def ndkDir = property('ndk.dir')
        return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
    }
    // ** Add below. should be before if (System.getenv('ANDROID_NDK') clause **
    Properties properties = new Properties()
    properties.load(project.rootProject.file('ReactAndroid/local.properties').newDataInputStream())
    if (properties.hasProperty('ndk.dir')) {
        def ndkDir = properties.getProperty('ndk.dir')
        return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
    }
    if (System.getenv('ANDROID_NDK') != null) {
        def ndkDir = System.getenv('ANDROID_NDK')
        return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
    }
    def ndkDir = android.hasProperty('plugin') ? android.plugin.ndkFolder :
            plugins.getPlugin('com.android.library').hasProperty('sdkHandler') ?
                    plugins.getPlugin('com.android.library').sdkHandler.getNdkFolder() :
                    android.ndkDirectory.absolutePath
    if (ndkDir) {
        return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
    }
    return null
}

然后更新ReactAndroid/local.properties

ndk.dir=/Users/tomo/temp/android-ndk-r10e
sdk.dir=/Applications/sdk

并从Android Studio运行应用

for react Native 7.0

尝试:

  1. rm -rf node_modules&&纱线安装(为我工作)

这些步骤:

  1. 关闭Android Studio
  2. add android.disableAutomaticComponentCreation = true in android/gradle.properties
  3. 重新开放项目和构建。

删除节点模块,Yarn.lock,Android Studio或Repair IDE中的无效缓存(所有步骤),package.lock.lock删除,

  • 下一个运行脚本"纱线安装"
  • 再次将Android Studio拖入Android Studio,
  • 同步Gradle文件错误将消失

相关内容

  • 没有找到相关文章

最新更新