- 浏览: 19287 次
- 性别:
- 来自: 深圳
最新评论
1,创建jni的java类自动生成jni头文件
a)新建Jni接口类
b)在终端执行命令:
c)生成了com_bb_sz_skyjni_jni_JniInterface.h头文件
d)javah的用法:
2,在jni目录下新建JniInterface.c文件
a)实现代码
b)Ctrl +F9执行Make Project命令
c)在app\build\intermediates\ndk目录下找到Android.mk文件
d)拷贝Android.mk文件到jni目录下
e)在jni目录下执行ndk-build生成.so库
f)将.so库拷贝到Android项目中去.
a)新建Jni接口类
package com.bb_sz.skyjni.jni; /** * Created by Administrator on 2016/7/7. */ public class JniInterface { static { System.loadLibrary("JniTest"); } public native String getStringFromNative(); }
b)在终端执行命令:
javah -d D:\Android\Client\SkyJni\app\src\main\jni -classpath D:\Android\sdk\platforms\android-19\android.jar;D:\Android\Client \SkyJni\app\build\intermediates\classes\debug com.bb_sz.skyjni.jni.JniInterface
c)生成了com_bb_sz_skyjni_jni_JniInterface.h头文件
d)javah的用法:
D:\Android\Client\SkyJni>javah -help 用法: javah [options] <classes> 其中, [options] 包括: -o <file> 输出文件 (只能使用 -d 或 -o 之一) -d <dir> 输出目录 -v -verbose 启用详细输出 -h --help -? 输出此消息 -version 输出版本信息 -jni 生成 JNI 样式的标头文件 (默认值) -force 始终写入输出文件 -classpath <path> 从中加载类的路径 -bootclasspath <path> 从中加载引导类的路径 <classes> 是使用其全限定名称指定的 (例如, java.lang.Object)。
2,在jni目录下新建JniInterface.c文件
a)实现代码
// // Created by Administrator on 2016/7/7. // #include <jni.h> #include <android/log.h> #ifndef LOG_TAG #define LOG_TAG "ANDROID_LAB" #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__) #endif #ifdef __cplusplus extern "C" { #endif JNIEXPORT jstring JNICALL Java_com_bb_1sz_skyjni_jni_JniInterface_getStringFromNative (JNIEnv * env, jobject jObj){ // LOGE("log string from ndk."); return (*env)->NewStringUTF(env,"Hello From JNI!"); } #ifdef __cplusplus } #ifdef __cplusplus } #endif #endif
b)Ctrl +F9执行Make Project命令
c)在app\build\intermediates\ndk目录下找到Android.mk文件
d)拷贝Android.mk文件到jni目录下
e)在jni目录下执行ndk-build生成.so库
f)将.so库拷贝到Android项目中去.
发表评论
-
获取Root之后
2017-03-28 17:24 532ApplicationInfo info ... -
android apk 一键加壳
2016-12-02 15:20 17391, 下载源码 https://github.com/Jian ... -
源码编译Apk时,是否生成odex方法
2016-06-15 11:09 9701,其实Android系统默认的配置是,如果没有指定DISAB ... -
分享代码到jCenter
2016-05-26 16:58 5231, 新建正常的一个library 2, 在library工程 ... -
分享代码到jCenter
2016-05-26 16:59 01, 新建正常的一个library 2, 在library工程 ... -
Android6.0编译过程
2016-05-25 13:36 3751, 购买vpn账号 2, 选择ubuntu版本, 编译6.0 ... -
Apk资源文件混淆[微信开源方法]
2016-03-03 11:18 17981,微信压缩方法_01: 1)生成好了的demo.apk; ... -
反编译步骤
2016-03-03 10:35 5041, 反编译命令: apktool.bat d /locat ... -
AS gradle
2016-03-02 11:09 11421,Eclipse项目直接导程Android Studio项目 ... -
Android Google 开源项目路径
2015-06-19 09:11 424Android Google 开源项目路径 : [需要翻!墙] ... -
Android Studio 配置 SVN
2015-06-18 13:59 891see: http://www.it165.net/pro/h ... -
Android 4.4 实现状态栏(status bar)透明效果
2015-06-17 09:16 1343<style name="MyCusTheme ... -
Android
2014-06-12 16:33 0roboguice, http://daimajishu.it ... -
【转载】使用arm-eabi-addr2line, ndk-stack工具跟踪Android调用堆栈
2013-05-02 23:21 1332使用arm-eabi-addr2line工具跟踪Android ... -
Activity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorVi
2013-01-23 14:16 986<div class="iteye-blog- ... -
ADB server didn't ACK 解决方案
2012-12-27 16:54 9101.软件冲突。 首先是豌豆荚,尝试关闭豌豆荚,重启eclip ... -
Android Crash 报告反馈
2012-12-19 23:36 11321,Java中有一个接口,static interface T ... -
加密解密MD5
2012-08-03 09:37 9701,MD5加密!android 自带的MessageDiges ... -
快速查询A 到Z
2012-06-29 13:03 740/** * 快速查询View ...
相关推荐
AndroidNDK学习笔记.pdf
android ndk开发笔记 你懂的 介绍了ndk开发的过程
BlogApp博客专栏《OpenGL.ES在Android上的简单实践》对应项目专栏地址:
Android NDK 高手开发学习笔记,非常实用,保证物有所值哈~
JNI 编程教程,新手必备 Android JNI/NDK 学习笔记
ffmpeg学习笔记2 编译x265(Win10+android-ndk-r22)生成的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124576351 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者...
入门的最好办法就是学习Android自带的例子, 这里就通过学习Android的NDK自带的demo程序:hello-jni来达到这个目的。
ffmpeg学习笔记4 编译libmp3lame(Win10+android-ndk-r22)生成的arm64-v8a静态库 https://blog.csdn.net/aggs1990/article/details/124577449 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者...
ffmpeg学习笔记1 编译x264(Win10+android-ndk-r22)生成的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124575758 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者...
ffmpeg学习笔记3 编译fdk-aac(Win10+android-ndk-r22)生成的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124577004 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者...
ndk_demo NDK开发学习笔记 C语言基础 C ++语言基础
集成ndk,一个简单的Jni工程包括个人学习笔记
Qt+openCV学习笔记(六)openCV4.5.4+android-ndk-r21-windows-x86_64编译armeabi-v7a动、静态库, https://blog.csdn.net/aggs1990/article/details/121239228 CSDN审核可能较慢,如无法下载,可以过段时间再回来看...
Qt+openCV学习笔记(七)openCV4.5.4+android-ndk-r21-windows-x86_64编译arm64-v8a动、静态库, https://blog.csdn.net/aggs1990/article/details/121254838 CSDN审核可能较慢,如无法下载,可以过段时间再回来...
做为Android JNI还未入门的同志们,我这个总结的文档对你们真的很有用处,几乎大部分常规的Java访问C/C++以及C/C++访问Java的内容都包含在内。
Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译的armeabi-v7a动、静态库(无本地camera调用) https://blog.csdn.net/aggs1990/article/details/124526728 CSDN审核可能较慢,如无法...
Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译的arm64-v8a动、静态库 https://blog.csdn.net/aggs1990/article/details/124526728 CSDN审核可能较慢,如无法下载,可以过段时间再回来...
基于seetaface的人脸识别,本人修改为安卓NDK编译程序,并扩展了,安卓调用接口,包括了检测,对齐,识别,在同一个程序中...本人笔记网址www.abdosoft.cn, 至少可以让你节省1个星期时间,包括jni学习也是很好的参考了。
Qt+openCV学习笔记(十三)openCV4.5.5+android-ndk-r22-windows-x86_64编译的armeabi-v7a动态库 https://blog.csdn.net/aggs1990/article/details/124526728 CSDN审核可能较慢,如无法下载,可以过段时间再回来看...
方法: ... 您可能感兴趣的文章:Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库详解Android JNI的基本使用(CMake)详解Android studio ndk配置cmake开发native Ccmake 学习笔记CentO