文档章节

二、JNI开发环境搭建与调试

unic0rn
 unic0rn
发布于 2016/07/14 16:23
字数 509
阅读 64
收藏 0
jni
  1. 开发/编译环境的选择
  2. JNI代码调试

 

1.开发/编译环境的选择

        JNI技术在Java开发和Android开发中都有涉及,但是Android中的Java是google根据Android自身特性进行改造的,JNI编译环境与标准Java有所不同,Android中使用NDK进行JNI编译,而本文只介绍标准Java的JNI编译环境搭建与调试。

 

        JNI实际上是一段遵循Java本地调用接口的C或C++程序,所以JNI的编译也是用C/C++编译器。最终Java调用C/C++实际上是Java调用动态库实现的,windows下是dll,linux是so。

 

如果在Linux下,我们可以使用gcc完成JNI的编译。

如果在windows下,我们可以有以下几种选择:

  1. eclipse开发Java + VS 开发JNI(VS是windows下开发C/C++最好用的IDE)
  2. eclipse安装CDT同时开发Java和C/C++(安装CDT的eclipse开发C/C++比较鸡肋)

    

2.JNI代码调试

        在此只介绍在eclipse开发Java+VS开发JNI的环境下调试JNI代码

本文假设你已经有一个使用了JNI的Java工程,并且导入了eclipse且JNI代码也已经导入VS

 

1)在Java工程中将即将调用JNI的代码进行断点,以调试模式启动Java工程

2)在cmd中使用jps命令查看该Java工程进程的ID

3)在VS中对需要调试的JNI代码进行断点

4)在VS中打开菜单 调试->附加到进程 会打开附加窗口,根据进程ID找到Java进程,并点击附加

 

 

5)附加进程后,在eclipse中按F8继续运行,当程序执行到对应的JNI代码VS将会断点,你就可以在VS中继续调试JNI代码

加我QQ:981656164,共同学习交流,记得备注 —— OSC!  ~~ <( ̄3 ̄)> 

© 著作权归作者所有

共有 人打赏支持
unic0rn
粉丝 8
博文 76
码字总数 36275
作品 1
泉州
项目经理
android NDK 在Ubuntu10.04开发环境的搭建

最近可能要用到调用jni,我对NDK和Jni了解非常的少,今天根据网络上的一些博客搭建了一下NDK的开发环境,但是继续往下编译jni这些就不会了,如果有哪位看到了,希望能帮帮忙 下面我将今天搭建...

雨焰
2013/03/19
0
0
欢迎进入阿钟的博客导航——快速查找所有博客

世上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离;世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;世界上最真情的相依,是你在try我在catch。无论你发神...

a_zhon
2016/08/25
0
0
Eclipse替代ndk-gdb断点调试Android NDK程序

一 概述: Eclipse调试NDK程序的操作并不难,难的是环境的搭建。光是安装Eclipse就有不少问题,真是“大错不犯,小过不断”不胜期烦。在网上,已经有先行者记录下了Eclipse断点调试Android N...

胖老狼
2015/10/11
1K
0
Android Studio之NDK环境搭建,so文件打包以及使用

本篇入门教程开发环境为mac + Android Studio + gradle 2.14.1,主要包含以下3块内容: NDK环境搭建 编写第一个JNI项目 打包出动态so文件,在其他项目中使用 一、NDK环境搭建 从Android Stu...

ljianbing
06/26
0
0
NDK开发 eclipse相关开发环境的搭建

开发环境:windows+eclipse+NDK+cygwin (推荐这个偶然发现的音乐,听着心情就会变好) 在《android初涉NDK,从零打造你的第一个demo》(http://my.oschina.net/sosofy/blog/78353)中,我把打...

soso_fy
2012/09/25
0
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg调试C源码级驱动

联机方式不多说了。我博客里有,英文的。 windbg联机文档 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debug-universal-drivers---step-by-step-lab--echo-kernel......

simpower
37分钟前
0
0
redis快照和AOF简介

数据持久化到硬盘:一是快照(snapshotting),二是只追加文件(append-only file AOF) 快照 核心原理:redis某个时间内存内的所有数据写入硬盘 场景:redis快照内存里面的数据 1. 用户发送bgsav...

拐美人
38分钟前
0
0
这个七夕,送你一份程序员教科书级别的告白指南

给广大爱码士们的高能预警: 今天,就是七夕了…… (单身非作战人群请速速退场!) 时常有技术GG向个推君抱怨 经过网民多年的教育 以及技术人持之以恒的自黑 冲锋衣狂热分子·格子衫骨灰级粉...

个推
42分钟前
0
0
python爬虫日志(15)cookie详解

转载:原文地址 早期Web开发面临的最大问题之一是如何管理状态。服务器端没有办法知道两个请求是否来自于同一个浏览器。那时的办法是在请求的页面中插入一个token,并且在下一次请求中将这个...

茫羽行
43分钟前
0
0
qlv视频格式转换器

  腾讯视频中的视频影视资源有很多,小编经常在里面下载视频观看,应该也有很多朋友和小编一样吧,最近热播的电视剧也不少,如《香蜜沉沉烬如霜》、《夜天子》还有已经完结的《扶摇》,这么...

萤火的萤火
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部