频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
Android Studio生成.so库
2016-05-05 08:35:00         来源:抽烟的青蛙的专栏  
收藏   我要投稿

简介

通过android studio生成so库的实践。

上一篇记录的是通过eclipse生成so的方法eclipse生成so库实践,这里记录一下通过android studio是怎么生成so库的


配置NDK

下载ndk
下载地址:http://developer.android.com/intl/zh-cn/ndk/downloads/index.html

解压配置环境变量
12

验证配置成功
这里写图片描述

设置android studio ndk路径
这里写图片描述

JNI开发

添加native接口注意写好native接口和System.loadLibrary()。

执行Build->Make Project,生成了.class文件,.class文件的生成路径是在 app/build/intermediates/classes/debug下
这里写图片描述

javah生成c头文件
点击”View->Tool Windows->Terminal<喎"/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPiZsZHF1bzujrLTyv6rW1bbLo6y9+MjrIFxhcHBcc3JjXG1haW61xMS/wrzPwta00NBqYXZhaMP8we6jrDxjb2RlPmphdmFoIC1kIGpuaSAtY2xhc3NwYXRoIDxzZGtfYW5kcm9pZC5qYXI+OzxhcHBfY2xhc3Nlcz4gPGNsYXNzPjwvY2xhc3M+PC9hcHBfY2xhc3Nlcz48L3Nka19hbmRyb2lkLmphcj48L2NvZGU+PGltZyBhbHQ9"这里写图片描述" src="/uploadfile/2016/0505/20160505091934901.png" title="\" />,然后就看到\app\src\main\jni\com_fy_administrator_jnitoso_JniUtil.h出现了.

然后根据.h文件,创建相对应的.cpp文件
这里写图片描述 创建Android.mk和Application.mk文件
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := JNIDemo
LOCAL_SRC_FILES := testJni.cpp
LOCAL_SRC_FILES += CAdd.cpp

include $(BUILD_SHARED_LIBRARY)

其中LOCAL_PATH是C/C++代码所在目录,也就是我们的jni目录。
LOCAL_MODULE是要编译的库的名称。编译器会自动在前面加上lib,在后面加上.so。
LOCAL_SRC_FILES是要编译的C/C++文件。

Application.mk

APP_ABI := all
#APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a mips64 x86_64

配置gradle

在defaultConfig下,配置ndk:
 ndk {
            moduleName "JNIDemo" // 生成的so名字
        }
在android标签内配置sourceSets:
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

这里写图片描述

执行ndk-build命令生成所有cpu架构的so库
这里写图片描述

注意:
在最后生成so库的时候,如果无法生成64位的so库,可能原因是ndk版本太老的缘故,下载最新ndk试试

代码:https://github.com/fayou147/JniToSo

点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:android - Volley源码分析
下一篇:android动画xml参数解析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站