2015-11-08 21 views
7

UWuntu 14.04 üzerinde UIExplorer projesini çalıştırmaya çalışıyorum. SDK ve NDK'yi kurdum. Alışıldık tepkiyi oluşturan normal projeleri (yarattığım) çalıştırıyorum, ancak Examples from Official Repo. Aşağıdaki hatasız"ANY" çalıştırılamıyor yerel örnek projeye yanıt

Yürütme görev için başarısız alıyorum

export ANDROID_NDK=/home/bozzmob/android-ndk-r10e/ 

': ReactAndroid: buildReactNdkLib'.

Süreci 'komutu '/ home/bozzmob/android-ndk-r10e/ndk-build'' 2

Kayıtlar gibi- bakmak sıfır olmayan çıkış değeri ile tamamladı

[email protected]:~/ReactJS/native/react-native# ./gradlew :Examples:UIExplorer:android:app:installDebug 
. 
. 
. 
:ReactAndroid:buildReactNdkLib 
make: Entering directory `/home/bozzmob/ReactJS/native/react-native/ReactAndroid/src/main/jni/react/jni' 
[armeabi-v7a] Compile++ thumb: reactnativejni <= OnLoad.cpp 
[armeabi-v7a] SharedLibrary : libfb.so 
[armeabi-v7a] SharedLibrary : libglog.so 
[armeabi-v7a] StaticLibrary : libdouble-conversion.a 
BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-> androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

BFD: /home/bozzmob/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.8/liblto_plugin.so: file too short 

[armeabi-v7a] Prebuilt : libjsc.so <= /home/bozzmob/ReactJS/native/react-native/ReactAndroid/build/third-party-ndk/jsc/jni/armeabi-v7a/ 
[armeabi-v7a] Compile++ thumb: reactnative <= Bridge.cpp 
[armeabi-v7a] Compile++ thumb: reactnative <= Value.cpp 
[armeabi-v7a] Compile++ thumb: reactnative <= JSCHelpers.cpp 
[armeabi-v7a] Compile++ thumb: reactnative <= JSCExecutor.cpp 
[armeabi-v7a] Install : libjsc.so => /home/bozzmob/ReactJS/native/react-native/ReactAndroid/build/react-ndk/all/armeabi-v7a/libjsc.so 
[armeabi-v7a] Install : libgnustl_shared.so => /home/bozzmob/ReactJS/native/react-native/ReactAndroid/build/react-ndk/all/armeabi-v7a/libgnustl_shared.so 
make: *** [/home/bozzmob/ReactJS/native/react-native/ReactAndroid/build/react-ndk/all/armeabi-v7a/libgnustl_shared.so] Error 1 
make: *** Deleting file /home/bozzmob/ReactJS/native/react-native/ReactAndroid/build/react-ndk/all/armeabi-v7a/libgnustl_shared.so' make: *** Waiting for unfinished jobs.... make: Leaving directory/home/bozzmob/ReactJS/native/react-native/ReactAndroid/src/main/jni/react/jni' 
:ReactAndroid:buildReactNdkLib FAILED 

FAILURE: Build failed with an exception. 

    What went wrong: 
    Execution failed for task ':ReactAndroid:buildReactNdkLib'. 

     Process 'command '/home/bozzmob/android-ndk-r10e/ndk-build'' finished with non-zero exit value 2 

    Try: 
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 1 mins 34.069 secs 

Lütfen neyi yanlış yaptığımı bana bildirin.

cevap

1

Yerel (C++) yanıt veren yerel android kaynaklarının derlenmesiyle ilgili sorunlarınız var gibi görünüyor. Yeni bir proje başlatmak için bunu yapmanız gerekmemelidir (NDK kurulumu gerekmez) ve bu nedenle react-native init ile örnek proje oluşturmayı deneyebilirsiniz (talimatlar için bkz. this). Bundan sonra, yeni oluşturulan projenize örnek uygulama JS dosyalarını kopyalayabilirsiniz.

Kaynaktan çerçeve kodu oluşturmayı hala istiyorsanız, size yardımcı olmak için daha fazla ayrıntıya ihtiyacım var. Ndk-build için ayrıntılı modunu etkinleştirmenizi öneririm, o zaman buraya çıktıyla geri dönebilirsiniz. ReactAndroid/build.gradle ve ben bağlantılı kod parçası aşağıdaki gibi görünür şekilde argümanını gösteren 'V=1' ekleyin: ayrıntılı modunu etkinleştirmek için bu dosyayı değiştirmeniz gerekir

commandLine getNdkBuildFullPath(), 
     'NDK_PROJECT_PATH=null', 
     'V=1', 
     "NDK_APPLICATION_MK=$projectDir/src/main/jni/Application.mk", 
     'NDK_OUT=' + temporaryDir, 
+0

Cevabınız için çok teşekkürler. Söylediklerimi yaptım, 'V = 1' ve işte benim çıkış günlüğü - https://gist.github.com/bozzmob/3cec8388bc7d75895160 veya http://pastebin.com/VesSeBts – bozzmob

+0

Ayrıca yeni bir tane oluşturmaya çalıştım proje ve dosyaları kopyalayıp çalıştırmaya çalışın. Maalesef iyi çalışmadı. Çalışmıyor ve aynı hatayı atıyor. Ancak, proje oluşturulursa ve kodumu oraya yazıyorsa, iyi çalışıyor. – bozzmob

+1

Yani ndk-build sth werid yapıyor ve '' libgnustl_shared.so'' için uygun bir şekilde '' rea-native/ReactAndroid/build/tmp/buildReactNdkLib/local/armeabi-v7a/libgnustl_shared.so' adlı kopyalama yapmıyor gibi görünüyor. ? Bunu android ndk dağıtım klasörünüzün altında bulabilirsiniz: ./sources/cxx-stl/gnu-libstdC++/4.8/libs/armeabi-v7a/thumb/libgnustl_shared.so' – kzzzf

0

Ben de karşılaşılan aynı yapı hatası ve gelen bulundu çözümü Bu post. En sondaki (r11) yerine Android NDK r10e'yi kullanmalısınız.