Linux操作系统:Deepin 2014.1 x86
Android NDK r10d:http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86.bin
Poco 1.4.7p1-all:http://pocoproject.org/releases/poco-1.4.7/poco-1.4.7p1-all.zip
NKD解压后的路径:$HOME/android-ndk-r10d
Poco解压后的路径:$HOME/poco-1.4.7p1-all
编辑.bashrc文件
vi ~/.bashrc
在文件末尾添加
export NDK=$HOME/android-ndk-r10d
export PATH=$PATH:$HOME/my-android-toolchain/bin:$NDK
注意,上面的“$HOME/my-android-toolchain/bin”就是接下来要在NDK配置中设置的参数。
接着重要的一步来了,进入Poco目录,编辑文件 build/config/Android,找到
SHAREDLIBEXT = .so.$(target_version)
SHAREDLIBLINKEXT = .so
改为
SHAREDLIBEXT = .so
SHAREDLIBLINKEXT =
不改的话,最后生成的.so文件名都带有版本号,比如xx.so.24这样的,而在JNI开发时,Android.mk文件中不支持带版本号这种写法。
然后依次输入以下命令,相关配置参数根据自己的实际情况修改。注意--install-dir路径要和上面修改的路径一致
$NDK/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --stl=gnustl --arch=arm --platform=android-8 --install-dir=$HOME/my-android-toolchain
下面的是Poco的编译设置,根据自己需要修改
./configure --config=Android --no-tests --no-samples --omit=Data/SQLite --static --shared
开始编译
make -s -j4
构建armeabi-v7a可以用
make -s -j4 ANDROID_ABI=armeabi-v7a
最后就是在JNI中引入相关文件使用了。
相关链接:NDK编译Poco(二)