Подтвердить что ты не робот

Компиляция 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
4b9b3361

Ответ 1

У меня тоже была эта проблема. Я думаю, вы можете исправить это, убедившись, что используете точно верную версию Android NDK (android-ndk-r10e).

Также убедитесь, что вы установили переменные окружения и все сделанное правильно.

(Для чего это стоит, я застрял на последующих шагах, но, надеюсь, это поможет вам решить эту проблему)

Ответ 2

Вы должны изменить свой путь на ANDROID_NDK для запуска команды gradle локально.

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

В моем случае я поместил файл NDK в /Users/tomo/temp/android-ndk-r10e

так   export 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