android java 静态库_android 集成第三方静态库的编译方法

最近在集成第三方静态库,在网上搜索了好多资料,试过好多次,出现过各种问题。下面是走过的一些历程,记录下来,以便后面参考。

在这个案子中,我是用NDK来生成so。

下面是要用到得cygwin的安装和配置:

1、下载cygwin安装包。

2、点击安装,在Select Packages界面,安装Devel分支下的所有安装包。同时也搜索下VIM,安装VIM。选中后就等待下载和安装完成。

3、安装完成后,要进行一些环境变量的配置:

将cygwin安装目录下的bin设置到系统的path路径。点击 Cygwin.bat 启动cygwin,出现bash shell dos 窗口,分别执行命令 make -v,gcc -v没有报错,出现对应的版本显示,就表示安装成功了.为了编译方便,编辑一下 cygwin.bat 文件,设置环境变量,我的文件编辑如下,供参考:

@echo off

f:

chdir f:/develop/cygwin_a/bin

set HOME=/cygdrive/f/cygwin/home/

set NDK=/cygdrive/f/Android/Android_SDK/android-ndk

bash --login -i

也可点击桌面的Cygwin Terminal,执行

vim .bash_profile

在文件末尾加上

NDK=/cygdrive/f/Android/Android_SDK/android-ndk

exprot NDK

4、验证安装是否成功

启动cygwin,进入命令窗口,切换目录到android NDK (cd $NDK)安装目录samples/hello-jni目录,执行$NDK/ndk-build clean,随后执行 $NDK/ndk-build,这个时候看到清除了原来的文件,重新编译生成了 libhello-jni.so,即大功告成.

5、cygwin用到的命令

cd $NDK

ls

ndk-build

ndk-build clean

下面是配置NDK环境:

1、下载 android-ndk-r7b-windows, 找度娘要了这个包。解压到F盘中。

2、将ndk

为静态库(.a)创建jni接口:

1、必备文件:静态库libtest.a、静态库libtest.a的头文件libtest.h,将这两个文件放在Android工程的jni目录下。

2、增加jni.java, 内容如下,刷新Android工程,在bin目录下生产jni.class。

packagecom.lgq.test;public classjni {static{

System.loadLibrary("test");

}public static final native intgetVersion();public static final native intdoUpdate(String path);public static final native intdoCalibration();

}

3、打开cygwin, 进入Android工程目录bin文件夹下, 执行

javah -classpath . -jni com.lgq.test.jni

最近在集成第三方静态库(.a),下面是一些参考:

android 集成第三方静态库的编译方法

Android中编译及使用静态库

这里采用的方式是Java调用动态库(.so)文件,动态库再调用静态库(.a)文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值