編譯android版libmpg


環境:ubutnu 12.04,android SDK

1. 下載libmpg的一個android工程,得到一個Android-libmpg-master.zip。https://github.com/Nobleworks/Android-libmpg

2. 下載libmpg123源碼,得到一個mpg123-1.15.4.tar.bz2。http://www.mpg123.org/

3. 將兩個文件放到安卓工程目錄下,目前是 /home/gong/android/workspace/。分別解壓到此處。
    現在的目錄結構是workspace/下多兩個文件夾 mpg123-1.15.4 和 Android-libmpg-master

4. 把目錄/home/gong/android/workspace/mpg123-1.15.4/src/libmpg123/里面的所有文件拷貝到
    /home/gong/android/workspace/Android-libmpg-master/Android-libmpg/jni/libmpg123/

5. Android-libmpg-master/Android-libmpg/src/nobleworks/libmpg文件夾下有三個 .java文件。
    Feature.java MP3Decoder.java Encoding.java
    在src目錄下使用javac命令,生成對應的class文件;使用javah命令,生成對應的.h文件。
    (注:javac 和 javah 命令必須在包外面操作)
    gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javac nobleworks/libmpg/MP3Decoder.java
    gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javah nobleworks.libmpg.MP3Decoder
    gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javac nobleworks/libmpg/Feature.java
    gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javah nobleworks.libmpg.Feature
    gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javac nobleworks/libmpg/Encoding.java
    gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javah nobleworks.libmpg.Encoding
   執行完后,會在src目錄下生成7個.h文件。
    nobleworks_libmpg_Encoding_Format.h
    nobleworks_libmpg_Encoding.h
    nobleworks_libmpg_Encoding_Ordinals.h
    nobleworks_libmpg_Feature.h
    nobleworks_libmpg_MP3Decoder_Error.h
    nobleworks_libmpg_MP3Decoder_Flags.h
    nobleworks_libmpg_MP3Decoder.h

6. 修改jni/MP3Decoder.cpp,將前面幾行的include 路徑修改為剛剛生成的.h文件。
#include "../src/nobleworks_libmpg_MP3Decoder.h"
#include "../src/nobleworks_libmpg_MP3Decoder_Error.h"
#include "../src/nobleworks_libmpg_Feature.h"
#include "../src/nobleworks_libmpg_Encoding_Ordinals.h"


7. 在jni目錄下 執行 ndk-build。就會生成libs/armeabi-v7a/libmpg.so和libs/armeabi/libmpg.so


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM