2013-04-19 13 views
9

Sto cercando di creare uno sfondo animato per Android che riproduce un video .mp4 situato sul dispositivo in Android-Asset (con l'esempio che sto usando, in realtà copia il file alla sdcard in fase di esecuzione/non importa)Errore 1 libavcodec.so Formato file non riconosciuto Android GL Live Wallpaper

ho trovato questo example ed utilizzare il post ho potuto ottenere il mio eclissi impostato con NDK e la costruzione del progetto. Quando si costruisce in Eclipse utilizzando il plugin NDK ottengo questo errore nella mia finestra problemi:

Description Resource Path Location Type 
make: *** [libs/armeabi/libavcodec.so] Error 1 GLWallpaperVideoDemo-master   C/C++ Problem 
make: *** Deleting file `libs/armeabi/libavcodec.so' GLWallpaperVideoDemo-master   C/C++ Problem 

ottengo lo stesso errore se si tenta di eseguire ndk-build dal prompt dei comandi.

Ho scaricato il progetto dal link sopra e poi importato in eclissi. Ho aggiunto il lib GLWallpaperService al percorso di build e mi sono assicurato che il mio NDK fosse configurato. Sapendo che la cartella lib è cambiata in libs ho anche provato a spostare GLWallpaperService nella cartella libs, cosa che non mi è stata di aiuto.

Il progetto viene creato senza NDK in modo corretto in Eclipse, ma ovviamente errori durante il tentativo di eseguire lo sfondo perché le librerie native non sono state create.

Come posso risolvere questo errore?

risposta

1

Il problema potrebbe essere causato da un file danneggiato. Prova a creare nuovamente la libreria ffmpeg o trova un'altra versione. Perché ho un errore diverso in Eclipse, quando provo a compilare il progetto:

C: /Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm -linux-androideabi-striscia: ./ libs/armeabi/libavcodec.so: formato di file non riconosciuto

E quando cerco questo errore sembra che l'errore è a causa di un file danneggiato: NDK prebuilt shared library file format not recognized

Oppure la libreria non è in un formato che può essere utilizzato da Android: Error in linking C++ static library with android ndk(Error: file format not recognized)

+0

In realtà si vede lo stesso messaggio di errore, di filtrare solo in modo diverso. –

+0

Sì, ho lo stesso messaggio di errore ma non hai incluso questa parte importante nella tua domanda. –

+0

Bene, [qui] (http://stackoverflow.com/a/17700708/192373) è la risposta. –

2

Il pacchetto ricevuto da git clone https://github.com/frankandrobot/GLWallpaperVideoDemo.git è orientato a Linux. Il file jni\ffmpeg-android\build\ffmpeg\armeabi\lib\libavcodec.so e molti altri sono semplicemente collegamenti simbolici ai file reali.

per rendere questo tutto il lavoro facilmente su Windows, vi suggerisco di andare alla cartella jni\ffmpeg-android\build\ffmpeg\armeabi\lib, ed eseguire

del *.so 
copy libavcodec.so.52.99.1 libavcodec.so 
copy libavcore.so.0.16.0 libavcore.so 
copy libavdevice.so.52.2.2 libavdevice.so 
copy libavfilter.so.1.69.0 libavfilter.so 
copy libavformat.so.52.88.0 libavformat.so 
copy libavutil.so.50.34.0 libavutil.so 
copy libswscale.so.0.12.0 libswscale.so 
Problemi correlati