Android studio jni编译以及第三方so库的引用
来源:互联网 发布:孕 防辐射 知乎 编辑:程序博客网 时间:2024/06/07 02:30
本编译环境在 androidstudio2.0 以上。
一下为build.gride文件
android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "hohistar.msales.myapplication" minSdkVersion 14 targetSdkVersion 22 versionCode 1 versionName "1.0" multiDexEnabled true //解决AS中NDK插件过期时不能编译的问题 ndk {// moduleName "DBHelper" moduleName "CipherUtils"// jni库名字和链接c++文件名称一致 stl "gnustl_static" // stlport_static abiFilters "armeabi", "armeabi-v7a" ldLibs "log", "android"//申明引用系统库 } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }//加载so库目录 sourceSets { main { jniLibs.srcDirs = ['libs'] } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:22.2.1' compile files('libs/DBHelper.jar')}
local.properties文件 添加NDK 路径
ndk.dir=/Users/sinde/Documents/android/adt-bundle-mac-x86_64-20130717/sdk/ndk-bundlesdk.dir=/Users/sinde/Documents/android/adt-bundle-mac-x86_64-20130717/sdk
目前androidstudio 版本 只支持编译NDK,还未发现可以进行c++代码提示,写起来也有点麻烦
目前创建c++链接文件的方法为
1.terminal终端 cd 进入项目java目录下如 sindedeMacBook-Pro:MyApplication sinde$ cd app/src/main/java/
2.新建链接文件 sindedeMacBook-Pro:java sinde$ javah -d ../jni hohistar.msales.myapplication.CipherUtils(也可手动创建,但要和
moduleName 保持一致
)3.在java中直接引用即可
System.loadLibrary("CipherUtils");
总结:在运行的时候可能会报链接不到第三方的so库,手动删一下jni文件夹,然后在注释
moduleName "CipherUtils"// jni库名字和链接c++文件名称一致再次编译运行,第三方的so库就没出错了,然后在把jni文件夹拷贝进来,把moduleNmae 放开注释,在次编译运行就没报错了(我怀疑是编译器编译有问题导致找不到第三方so库)
0 0
- Android studio jni编译以及第三方so库的引用
- Android NDK编译本地文件以及引用第三方so文件
- Android NDK编译本地文件以及引用第三方so文件
- Android NDK编译本地文件以及引用第三方so文件
- android jni 引用第三方 so
- android jni 引用第三方 so
- android jni 引用第三方 so
- Android Studio中使用JNI和第三方.so库
- Android studio libs引用第三方so库
- Android studio中引用第三方库的so文件出错
- 关于Android Studio导入第三方.so库,找不到so库以及找不到so库中方法的问题
- android中JNI利用第三方的so库
- Android Studio使用自定义的Android.mk文件编译第三方so库
- Android studio jni内调用第三方so
- android studio JNI层集成第三方so
- Android studio jni内调用第三方so
- Android Studio工程引用第三方so文件
- Android Studio NDK开发 正确调用jni 及加入第三方so库需要注意的问题
- Spring
- 《C++编程风格》第四章:虚函数
- Zabbix学习笔记(六)---安装和使用中遇到的问题汇总(CentOS)
- HDU 1540:Tunnel Warfare
- 史上最详细的Android Studio系列教程四--Gradle基础
- Android studio jni编译以及第三方so库的引用
- java对数据库进行增删改查的封装(封装以后只要一句话就搞定对数据库的增删改查)
- 用Fragment实现微信Tab切换
- Mybatis中的foreach方法,批量插入和批量删除
- 面试题之java的理解
- 【笔记】关于网络编程的知识整理
- 设计模式之适配器模式
- Red and Black(DFS)
- windows 窗口创建,消息泵,对话框,控件常用API