编译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

原文地址:https://www.cnblogs.com/zzugyl/p/3214956.html