2016-10-24 17 views
4

我正在嘗試使用本地分支的react-native編譯我的React Native Android項目。我遵循building from source指南並完成了所有步驟(不使用Android Studio)。使用本地分叉編譯React Native項目 - NDK_PROJECT_PATH

當我嘗試運行react-native run-android(從項目的根爲正常),我得到:

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':ReactAndroid:buildReactNdkLib'. 
> Process 'command '/usr/local/opt/android-ndk/ndk-build'' finished with non-zero exit value 2 

當我運行ndk-build(從項目的根),我得到:

Android NDK: Could not find application project directory ! 
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. 
/usr/local/Cellar/android-ndk/r12b/build/core/build-local.mk:151: *** Android NDK: Aborting . Stop. 

Another SO thread尖我在運行ndk-build./android/app/src的方向,並創建一個jni目錄(我沒有一個),但我不確定如何獲得或創建jni/Android.mk正確或者如果這甚至會幫助我。我已經嘗試創建jni/Application.mk,內容爲APP_BUILD_SCRIPT := Android.mkjni/Android.mk,並使用該問題中描述的設置。運行ndk-buildandroid/app/src退出並出現以下錯誤:

Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: Android.mk 
/usr/local/Cellar/android-ndk/r12b/build/core/add-application.mk:198: *** Android NDK: Aborting... . Stop. 

我有一個自制安裝了Android SDK和NDK和我有以下出口:

ANDROID_HOME=/usr/local/opt/android-sdk 
ANDROID_SDK=/usr/local/opt/android-sdk 
ANDROID_NDK=/usr/local/opt/android-ndk 
ANDROID_NDK_HOME=/usr/local/opt/android-ndk 

我覺得我很接近,但不知道如何繼續。

+0

不,您不能從命令行運行ndk-build來生成react-native。它的gradle腳本下載並配置了很多依賴項,包括boost。您可以運行'react-native --debug run-android'來查找更多有關':ReactAndroid:buildReactNdkLib'失敗的信息。我建議打開[GitHub上的問題](https://github.com/facebook/react-native/issues?utf8=%E2%9C%93&q=is%3Aissue%20buildReactNdkLib)。 –

回答

1

我覺得問題是android-ndk版本。我們需要使用由react-native documentation指定的ndk版本。我嘗試了最新版本的andrid-ndk。我無法構建該項目,運行react-native run-android時出現類似的錯誤。

然後我試着用android-ndk-r10e版本。它運行良好,我能夠成功地構建項目。

另外你可能會發現this react-native github問題討論有用。

0

我在編譯React Native UIExplorer for Android.And我有同樣的問題。 後來我跑ndk-build,我得到:

Android NDK: Could not find application project directory ! 
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. 
/usr/local/Cellar/android-ndk/r13b/build/core/build-local.mk:151: *** Android NDK: Aborting . Stop. 

android-ndk版本/android-ndk/r13b/,所以我下載android-ndk-r10e。 我用最直接的方式:

$ cd /usr/local/Cellar/android-ndk/r13b 
$ rm -rf ./* 
$ mv YourUnZipPath/android-ndk-r10e/* ./ 

那麼它工作得很好,我能夠成功構建項目。