2015-11-08 16 views
7

Próbuję uruchomić projekt UIExplorer na Ubuntu 14.04. Zainstalowałem SDK i NDK. Jestem w stanie uruchomić zwykłe projekty reagowania natywnego (tego, który tworzę), ale nie mogę tego zrobić pod Examples from Official Repo.Nie można uruchomić "JAKIKOLWIEK" reagować na natywny przykładowy projekt

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

otrzymuję następujące ERROR-

Wykonanie nie powiodło się dla zadania ': ReactAndroid: buildReactNdkLib'.

'komenda 'Proces/home/bozzmob/Android NDK-r10e/NDK-build'' wykończone niezerowej wartości wyjściowej 2

Logi wyglądają jak-

[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 

Daj mi znać, co robię źle?

Odpowiedz

1

Wygląda na to, że masz problemy z kompilowaniem natywnych (C++) źródeł natywnego Androida reagującego na reakcje. Aby rozpocząć nowy projekt, nie powinieneś tego robić (nie jest wymagana konfiguracja NDK) i dlatego możesz po prostu spróbować utworzyć przykładowy projekt z react-native init (instrukcje znajdziesz w this). Następnie wystarczy skopiować przykładowe pliki JS aplikacji do nowo utworzonego projektu.

Jeśli nadal chcesz zbudować kod strukturalny ze źródła, potrzebuję więcej szczegółów, aby ci pomóc. Sugerowałbym włączenie trybu gadatliwego dla ndk-build, a następnie można wrócić tutaj z danymi wyjściowymi. W celu umożliwienia tryb opisowy trzeba by zmodyfikować ten plik: ReactAndroid/build.gradle i dodać 'V=1' do args tak, że fragment kodu I związana wygląda następująco:

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

Wielkie dzięki za odpowiedź. Zrobiłem to, co powiedziałeś, tj. "V = 1" i tutaj jest mój log wyjściowy - https://gist.github.com/bozzmob/3cec8388bc7d75895160 lub http://pastebin.com/VesSeBts – bozzmob

+0

Próbowałem również stworzyć nowy projektować i kopiować pliki i próbować uruchomić. Niestety nie udało się. Nie działa i generuje ten sam błąd. Ale jeśli projekt jest tworzony i piszę tam swój kod, działa dobrze. – bozzmob

+1

Wygląda na to, że ndk-build robi coś niedobrego i nie kopiuje 'libgnustl_shared.so' odpowiednio do' native-ReactA/ReactAndroid/build/tmp/buildReactNdkLib/local/armeabi-v7a/libgnustl_shared.so' czy możesz spróbować zrobić to ręcznie ? Powinieneś go znaleźć pod swoim folderem dystrybucyjnym Android ndk w './sources/cxx-stl/gnu-libstdC++/4.8/libs/armeabi-v7a/thumb/libgnustl_shared.so' – kzzzf

0

spotkałem też sam błąd kompilacji i znaleźć rozwiązanie z to post. Musisz użyć Androida NDK r10e zamiast najnowszego (r11).

Powiązane problemy