編譯android版libmpg

環境:ubutnu 12.04,android SDKjava

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

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

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

4. 把目錄/home/gong/android/workspace/mpg123-1.15.4/src/libmpg123/裏面的全部文件拷貝到
    /home/gong/android/workspace/Android-libmpg-master/Android-libmpg/jni/libmpg123/ui

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.hspa

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"code


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

相關文章
相關標籤/搜索