Sto provando a creare il codec vp8 per Android. Ho eseguito lo script configure.sh e il makefile per armv6 con sourcery g ++ che ha prodotto con successo libvpx.so. Successivamente ho scritto un wrapper JNI e l'ho compilato con ndk-build con successo. Quando lo eseguo su uno smartphone Gingerbread ho ricevuto un UnsatisfiedLinkError "libpthread.so.0 non trovato". Come posso sbarazzarmi di questo errore?build vp8 su android
risposta
Questo a volte può essere un problema con SONAME in una libreria condivisa, dare un'occhiata a questo articolo.
http://groups.google.com/group/android-ndk/browse_thread/thread/fd484da512650359
Si potrebbe disabilitare pthreads se non si ha realmente bisogno di loro.
Iv'e ha avuto problemi con i file .so in passato e hanno evitato tutti questi problemi utilizzando .a librerie statiche invece di .so librerie condivise
Da http://git.chromium.org/gitweb/?p=webm/bindings.git;a=blob_plain;f=JNI/README.Android con alcuni aggiustamenti per migliorare la leggibilità.
Creare la cartella {project}/jni.
Ottieni binding JNI.
Get libvpx.
Configurare libvpx per android
./libvpx/configure --target = ARMv7-android-gcc --disable-esempi --sdk-path = {percorso NDK}
--sdk-path
DEVE essere assoluto.Ottieni libwebm.
attacchi cd/JNI
Get libogg.
Scarica codice OGG da http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz
estratto di attacchi/JNI.
Abbiamo bisogno di eseguire configure per generare config_types.h.
cd libogg-1.3.0 & & ./configure & & cd ..
Get libvorbis
codice Scarica vorbis da http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
estratto di attacchi/JNI.
Get libyuv
svn checkout http://libyuv.googlecode.com/svn/trunk/ libyuv-sola lettura
Creare {progetto} /jni/Application.mk con i dati di seguito:
APP_ABI := armeabi-v7a APP_OPTIM := release APP_STL := gnustl_static APP_CPPFLAGS := -frtti
Creare {project} /jni/Android.mk con i dati belo w:
WORKING_DIR := $(call my-dir) BINDINGS_DIR := $(WORKING_DIR)/bindings/JNI include $(BINDINGS_DIR)/Android.mk
Creare il codice JNI.
{percorso NDK}/NDK-costruire
Copiare il codice Java.
cp -r attacchi/JNI/com/google ../src/com/
aggiungere il codice per testare le associazioni.
int[] major = new int[2]; int[] minor = new int[2]; int[] build = new int[2]; int[] revision = new int[2]; MkvMuxer.getVersion(major, minor, build, revision); String outStr = "libwebm:" + Integer.toString(major[0]) + "." + Integer.toString(minor[0]) + "." + Integer.toString(build[0]) + "." + Integer.toString(revision[0]); System.out.println(outStr);
Eseguire l'app. Dovresti vedere l'output della versione di libwebm.
Tweak secondo necessità. I wrapper VP8 si trovano nello spazio dei nomi com.google.libvpx.
- 1. Come codificare una serie di immagini in VP8 usando l'API Encoder WebM VP8? (C/C++)
- 2. Come accelerare le build su Android ndk
- 3. whitelist plug-in cordova che funziona su Android ma non su iOS (Phone Build Build)
- 4. Build Rsync per Android
- 5. Errore build gradle Android
- 6. Studio Android Build/Clean
- 7. Aurelia build su VSO Hosted Build Controller
- 8. Cordova/PhoneGap Android - Problema Java/Ant su build?
- 9. Problema di Android Gradle Multidex Build su API 19
- 10. Build fallito su run-android a causa di dipendenze
- 11. Android NDK e FFMPEG build
- 12. Come iniziare su MS-Build
- 13. CMake zlib build su Windows
- 14. Disabilita output dettagliato su build
- 15. Android ndk-build ignora APP_ABI: = x86
- 16. Build Dropbear dbclient binary per Android
- 17. Android escludi file da build in eclissi
- 18. Android Studio 2.0 build errore Gradle
- 19. Instabug per avviso di build Android
- 20. Google Maps su Ionic Framework/Cordova non funziona su Android build
- 21. build e la versione minima SDK Android
- 22. Android build tools 1.1.0, cartella test unità?
- 23. Android OrderedBroadcast non funziona in Release Build
- 24. Equivalente di Clean & build in Android Studio?
- 25. Android build target, duplicati, quale scegliere?
- 26. Configurazioni di build Android per più clienti
- 27. Android espresso-cotrib gradle build failing
- 28. Configurazioni di build di Android Studio
- 29. Android Studio Exclude Class da build?
- 30. Gradle Android build-info.xml non trovata
risposta fantastica! ma - quando eseguo le operazioni seguenti, ricevo sempre errori durante la configurazione. Non è possibile creare un'istanza del compilatore. Ecco il registro: Impossibile richiamare il compilatore: /Users/yosef/Desktop/adt/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc --sysroot =/Users/yosef/Desktop/adt/ndk/sources/android/libportable/arch-arm -I/Users/yosef/Desktop/adt/ndk/sources/android/cpufeatures -mtune = cortex-a8 -O3 -fPIC - W .. Sai quale potrebbe essere la ragione? – Nativ
i repository sono stati spostati altrove. Si prega di aggiornare i collegamenti repo per ottenere dalla nuova radice - https://chromium.googlesource.com/ – Shrish