前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android studio JNI使用

android studio JNI使用

作者头像
xiangzhihong
发布2018-02-01 16:22:17
7350
发布2018-02-01 16:22:17
举报
文章被收录于专栏:向治洪向治洪

Step: 1. 添加native接口注意写好native接口和System.loadLibrary()即可了,并无特别之处。 Step: 2.执行Build->Make Project 生成了.class文件..class文件的生成路径是在 app_path/build/intermediates/classes/debug下的. 这个在android studio里面看不到, 到文件管理器里面翻到的, 里面还有好多东西。

Step: 3.javah生成c头文件 点击"View->Tool Windows->Terminal",即在Studio中进行终端命令行工具.执行如下命令生成c语言头文件。

这 里需要注意的是要进入 <Project>\app\src\main的目录下执行javah命令,为的是生成的 .h 文件同样是在<Project>\app\src\main路径下(jni下面),可以在Studio的工程结构中直接看到。

操作命令:

javah -d jni -classpath <SDK_android.jar>;<APP_classes> <class>

javah -d jni -classpath c:\Users\Ximei\AppData\Local\Android\sdk1\platforms\android-21\android.jar;..\..\build\intermediates\classes\debug com.example.jnitest 好长一串,  好家伙,  这通敲. 然后就看到<project>\app\src\main\jni\com_example_jnitest.h出现了.  Step: 4.编辑c文件

在<project>\app\src\main\jni\jnitest.c文件中实现头文件中的函数。

Step: 5.配置NDK

这一步包括两个动作:

1.指明ndk路径 在local.properties中添加ndk目录, ndk目录中不可包含空格. ndk.dir=C\:\\android-ndk-r10d

2. 修改build.gradle配置

工程中共有两个build.gradle配置文件,我们要修改的是在<Project>\app\build.gradle这个文件。为其在defaultConfig分支中增加上     ndk {         moduleName "jnitest"

    } 3.  添加Application.mk  和 Android.mk文件 Application.mk APP_PROJECT_PATH := $(call my-dir)/project APP_MODULES      := nativebt Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE    := jnitest LOCAL_SRC_FILES :=  jnitest.c LOCAL_DEFAULT_CPP_EXTENSION := cpp #include $(BUILD_EXECUTABLE) include $(BUILD_SHARED_LIBRARY) 然后进行编译,  会出现no rule to make target....错误,  按照网上的经验,  生成一个空的empty.c文件,  错误通过. (啧, 2014年3月的bug,  居然还没有fix版) 终于编译成功, 编译出来的库文件在如下路径:  <project>\app\build\intermediates\ndk\debug\lib\  共7个目录, 7种架构吧。 至此, 开发环境建立成功。 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-04-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档