为什么80%的码农都做不了架构师?>>>   

1、首先创建一个工程,jnitest里面的类叫jnitest.java

public class jnitest extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
//  System.out.println("hello:" + hello());}static{//加载库文件System.loadLibrary("testJni");}//声明原生函数 参数为String类型 返回类型为Stringprivate native String hello();}

2、编译一下,(为了生成class文件)

3、利用DOS切换到该工程目录下面,执行javah -classpath bin/classes -d jni com.example.jnitest.jnitest

生成头文件用的

4、会看到在工程目录下面有个jni的文件夹,里面会有头文件

5、创建一个.c文件:testJni.c(方法的名字要注意)

#include<string.h>
#include<jni.h>
jstring
Java_com_example_jnitest_jnitest_hello(JNIEnv* env, jobject thiz)
{return (*env)->NewStringUTF(env, "123");
}

6、从cygwin的目录中的samples下的hello-jni里的jni里的Android.mk拷贝一份到所建的工程里的jni目录中,这样工程的jni文件夹下面就有3个文件了.h文件、.c文件、.mk文件

7、打开cygwin的命令行,切换到该工程的目录下面

8、执行$ $NDK/ndk-build

9、会在工程的libs目录下面生成.so文件

10、执行以下之前的java类吧

转载于:https://my.oschina.net/MrHou/blog/153243

android下的jni相关推荐

  1. android 获取堆栈地址,关于java native interface:如何捕获SIGSEGV(分段错误)并在Android下的JNI下获取堆栈跟踪?...

    我正在将一个项目转移到新的Android本机开发工具包(即JNI)中,我想捕获sigsegv,如果它发生(也可能是sigill.sigabrt.sigfpe),以便呈现一个很好的崩溃报告对话框,而不是 ...

  2. Android下玩JNI的新老三种姿势

    请尊重原创,转载请注明出处:http://blog.csdn.net/mabeijianxi/article/details/68525164 (本文已在 hongyang 微信公众号发布) 说明:本 ...

  3. 【转】Android下编译jni库的二种方法(含示例) -- 不错

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd01011384.html 总结如下:两种方法是: 1)使用Android源码中的Make系统 2)使用NDK( ...

  4. 编译Android下可用的全平台FFmpeg(包含libx264与libfdk-aac)

    请尊重原创,转载请注明出处:http://blog.csdn.net/mabeijianxi/article/details/74544879 源码或工具版本: ndk :r14 FFmpeg 版本: ...

  5. 说说android下TV版本UC浏览器模拟鼠标的实现

    说说android下TV版本UC浏览器模拟鼠标的实现      无意中下载了一个TV版本的UC浏览器安装到机顶盒上,顺便体验了一把.感觉吗还行,原先以为UC浏览器会针对Android下TV的遥控器操作 ...

  6. 编译Android下可执行命令的FFmpeg

    请尊重原创,转载请注明出处:http://blog.csdn.net/mabeijianxi/article/details/72904694 本人环境与工具: ndk:r14 FFmpeg版本: 3 ...

  7. Android Studio 下安卓 jni 开发错误 undefined reference to AndroidBitmap_getInfo

    博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 又掉坑里了 今天开发 uvc,又遇到了坑: 和之前的这个坑类似:Android Studio 下安卓 jni 开发错误 ...

  8. android studio 单步调试jni,android studio实现Jni单步调试-标准配置教程

    本文主要介绍在android studio下实现jni单步调试时,所需要的配置及其步骤,这些也是本人经过几天折腾慢慢实现的,先提供给大家做参考: 1,配置是在mac下android studio实现的 ...

  9. android中使用jni对字符串加解密实现分析

    android中使用jni对字符串加解密实现分析 近期项目有个需求.就是要对用户的敏感信息进行加密处理,比方用户的账户password,手机号等私密信息.在java中,就对字符串的加解密我们能够使用A ...

  10. Android学习笔记--JNI的使用方法

    1.JNI是什么 JNI是Java Native Interface的缩写,它提供若干的API实现Java与其他语言之间的通信.而Android Framework由基于Java语言的的Java层与基 ...

最新文章

  1. 分科目统计每科前三名的学生
  2. 152. Leetcode 剑指 Offer 14- II. 剪绳子 II (贪心算法-基础题目)
  3. WeekDay TO DateTime
  4. 浅谈二次元场景特征和绘制手法
  5. python语言有哪些类型的运算符_python(4)-变量 数据类型和运算符
  6. MPLS ×××配置
  7. 面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景?
  8. 【hdu2825】ac自动机 + 状压dp
  9. SpringCloud config 配置中心介绍与基本配置使用
  10. JSON和JSONP的差别,以及用法
  11. Arduino 各种模块篇 舵机 Modules - Servo
  12. JavaWeb知识点
  13. oracle数据库执行sql很慢
  14. 华为交换机配置时区_华为交换机设置时间问题
  15. 最简单易懂的ios p12证书 和描述文件的创建,IPA上传,最完整的ios上架苹果商店教程
  16. 下列属于mysql流程控制的是什么_下面选项中,不属于MySQL中流程控制语句的有...
  17. strtoupper php 中文,strtoupper来导致中文乱码么
  18. PX4多传感器优先级判断
  19. 2017 ACM Arabella Collegiate Programming Contest(solved 11/13)
  20. SpringBoot自动化配置原理

热门文章

  1. MapXtreme2005中关于使用动画图层的一个方法
  2. python 实现的huffman 编码压缩,解码解压缩
  3. 华为的手册和官网视频,学习网络基础
  4. WiFi 连接到网络的过程
  5. Linux下挂载和格式化虚拟磁盘图文教程
  6. per_cpu机制的详解
  7. SylixOS arm64 异常向量表
  8. 火狐查看html的隐藏域,IE/火狐/Chrome操作display:none对象所遇问题解答
  9. 用python玩转数据mooc答案_中国大学慕课mooc用Python玩转数据章节测试答案
  10. linux shell 数字计算详解