libpomelo2在linux下编译android动态库libjpomelo
来源:互联网 发布:手机淘宝如何付款方式 编辑:程序博客网 时间:2024/05/16 17:56
参考文章如下:
http://nodejs.netease.com/topic/540702e0898634292cd0a588
https://github.com/NetEase/libpomelo2
编译libjpomelo.so耗费了2天多的时间,资料很少,期间走了很多弯路,这里记录下。
1、官网下载libpomelo2源代码。
2、准备android ndk 10的包,我ubuntu是32位的,所以下载的是android-ndk32-r10b-linux-x86.tar.bz2 。
3、打开Terminal终端,最好root权限。执行./android-toolchain.sh <ndk-dir>。这里的ndk-dir就是第二步中下载的ndk解压目录。执行完后,会在libpomelo根目录生成android-toolcahin目录,里面有交叉编译所需的所有头文件,库文件和可执行文件。
4、在执行./android-gen.sh之前,我们需要设置一些环境变量,android-toolchain.sh中的export ANDROID_TOOLCHAIN_DIR=$PWD/android-toolchain这是在android-toolchain.sh执行结束实际上已经消失了,或者说没有起作用,所以我们要手动设置
vim /etc/profile,在末尾增加
export ANDROID_TOOLCHAIN_DIR=#PWD/android-toolchain,这里的#PWD应该为你的根目录,这里指向的则是刚才生成的android-toolcahin目录。
export PATH=$ANDROID_TOOLCHAIN_DIR/bin:$PATH
export PATH=/home/wangc/android-ndk-r10b/platforms/android-9/arch-arm/usr/include:$PATH
export AR=arm-linux-androideabi-ar
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
export LINK=arm-linux-androideabi-g++
export PLATFORM=android
这里我们将android-gen.sh里面开始设置的环境变量手动设置一遍,因为在里面设置不顶用。。。
5、执行./android-gen.sh,然后会生成一个Makefile,然后make则会在out/Default/lib.target目录下生成libjpomelo.so了。在Default/obj.target目录下有libpomelo2.a。至此库文件就生成完了。这里要注意查看下文件类型,file libjpomelo.so,如显示平台为ARM ELF,恭喜你,OK了。
6、eclipse测试。将根目录下的java/com/netease/pomelo/Client.java和Test.java拷贝到android工程下,注意目录结构,如图所示:
Testpomelo.java代码如下:
<span style="font-size:14px;">public class Testpomelo extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_testpomelo);Test.main(null);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.testpomelo, menu);return true;}}</span>小伙伴们,还不赶快运行!
- libpomelo2在linux下编译android动态库libjpomelo
- 在linux下编译Android
- C++ 在 Linux下编译动态链接库
- 在Windows和Linux下编译使用动态库
- JNotify JNI动态库在Linux下的编译
- linphone-android在linux下编译
- Linphone Android 在Linux 下编译运行
- linux下动态库静态库编译
- Linux下编译动态链接库
- Linux下动态库的编译
- Linux下编译动态链接库
- linux下编译NiKey动态库
- Linux下编译静态、动态库
- linux下编译动态及静态库
- tinyxml linux下编译动态库
- Linux下的动态库编译
- linux下编译动态链接库
- Linux下gcc编译动态链接库
- Gearman介绍、调研、测试与原理分析
- 《Javascript高级教程(中文版)》(chm)计算机电子书下载
- sublime text 的简单使用
- 解决GIT PULL冲突: 终极方法
- myeclipse下载解压后.exe文件消失
- libpomelo2在linux下编译android动态库libjpomelo
- java处理图片(添加水印)
- gradle 编译环境下进行android单元测试
- 不同classloader装载的类不能互相访问?
- 在xcode5中修改整个项目名
- Android动画解析--XML
- 昆仑叶哲华:品牌战略定位需要考虑的因素
- bash_profile
- 《Hibernate In Action (2007)》(中/英)(pdf)计算机电子书下载