2015-11-08 11 views
7

Sto cercando di eseguire il progetto UIExplorer su Ubuntu 14.04. Ho installato SDK e NDK. Sono in grado di eseguire i normali progetti di risposta nativa (quello che creo io), ma non lo Examples from Official Repo.Impossibile eseguire "ANY" reagire al progetto di esempio nativo

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

Sto ottenendo il seguente degli errori

Esecuzione non riuscita per l'attività ': ReactAndroid: buildReactNdkLib'.

'comando 'Processo/home/bozzmob/android-NDK-r10e/NDK-build'' finito con valore di uscita diverso da zero 2

registri guardano come-

[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 

Per favore fatemi sapere cosa sto facendo male?

risposta

1

Sembra che tu stia riscontrando problemi con la compilazione di origini native (C++) di Android nativo. Per avviare un nuovo progetto non dovrebbe essere richiesto di farlo (non è richiesta alcuna configurazione NDK) e quindi è sufficiente provare a creare un progetto di esempio con react-native init (vedere this per istruzioni). Successivamente è possibile copiare i file JS dell'app di esempio nel progetto appena creato.

Se desideri ancora creare il codice framework dal sorgente, avrei bisogno di ulteriori dettagli per aiutarti. Suggerirei di abilitare la modalità dettagliata per ndk-build, quindi puoi tornare qui con l'output. Al fine di attivare la modalità verbose avresti bisogno di modificare questo file: ReactAndroid/build.gradle e aggiungere 'V=1' a args in modo che il frammento di codice ho collegato a assomiglia a questo: lo stesso errore di generazione

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

Grazie mille per la risposta. Ho fatto quello che hai detto vale a dire, 'V = 1' e qui è il mio output log- https://gist.github.com/bozzmob/3cec8388bc7d75895160 o http://pastebin.com/VesSeBts – bozzmob

+0

Ho anche provato a creare un nuovo progetto e copia i file e cerca di eseguire. Purtroppo non ha funzionato bene. Non funziona e genera lo stesso errore. Ma se il progetto viene creato e scrivo il mio codice lì, funziona perfettamente. – bozzmob

+1

Quindi sembra che ndk-build stia facendo sth werid e non copi 'libgnustl_shared.so' correttamente per' react-native/ReactAndroid/build/tmp/buildReactNdkLib/local/armeabi-v7a/libgnustl_shared.so' puoi provare a farlo manualmente ? Dovresti trovarlo nella cartella di distribuzione di Android ndk a './sources/cxx-stl/gnu-libstdC++/4.8/libs/armeabi-v7a/thumb/libgnustl_shared.so' – kzzzf

0

Ho anche incontrato e trovato la soluzione da questo post. È necessario utilizzare Android NDK r10e anziché l'ultimo (r11).

Problemi correlati