`
lijunjie
  • 浏览: 387152 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ubuntu下的JNI入门

阅读更多
1.编写java代码
class HelloWorld {
public native void displayHelloWorld();

static {
System.loadLibrary("hello");
}

public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}



2.编译java程序
javac HelloWorld

3.使用javah生成c语言定义文件
javah -jni HelloWorld

4.使用c语言实现定义
#include<jni.h>
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env,jobject obj) {
printf("Hello World!\n");
return ;
}


5.编译c语言
gcc gcc -shared -I ~/java/jdk1.6.0_12/include/ -I ~/java/jdk1.6.0_12/include/linux/ HelloWorld.c -o libhello.so


6.运行java
java -Djava.library.path=. HelloWorld

分享到:
评论

相关推荐

    android 及 linux 驱动入门 视频教程7

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    cmake跨平台sdk开发和Jni 接口设计及应用

    1:cmake 跨平台sdk 开发快速入门,写一个CMakeLists.txt 可以生成windows 和 ubuntu16.04 和 安卓三个平台的sdk(动态库) 2:java的jni 技术,java 和c/c++ 的数据交互(包括基本类型和数组类型和类的相互传递)和...

    android 及 linux 驱动入门 视频教程8

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程4

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程5

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程6

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程9

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    pro_android_cpp_with_the_ndk.pdf

    4.2.3 在UbuntuLinux下安装 4.3 通过示例程序试用SWIG 4.3.1 接口文件 4.3.2 在命令行方式下调用SWIG 4.3.3 将SWIG集成到Android构建过程中 4.3.4 更新Activity. 4.3.5 执行应用程序 4.3.6 剖析生成的代码 4.4 封装...

    Android C++高级编程:使用NDK_Onur Cinar, 于红PDF电子书下载 带书签目录 完整版

    4.2.3 在Ubuntu Linux下安装 85 4.3 通过示例程序试用SWIG 86 4.3.1 接口文件 86 4.3.2 在命令行方式下调用SWIG 89 4.3.3 将SWIG集成到Android构建过程中 90 4.3.4 更新Activity 92 4.3.5 执行应用程序 93 ...

    kotlin-ktor-design-templates:ktor设计模板。 这是构建API服务器或简单Web服务器的示例。

    Gradle升级默认情况下,Ubuntu附带的Gradle很旧,并且无法解决依赖关系,因此请对其进行升级。 $ sudo add-apt-repository ppa:cwchien/gradle$ sudo apt-get update$ sudo apt upgrade gradle安装Oracle Java 1.8 ...

    Cocos2d-x入门教程(详细的实例和讲解)

    作为入门级选手,2D游戏显然更适合上手一些,另外适合果果这个年龄段的幼教类的游戏也多以2D游戏居多。3D游戏本身也太难了,不仅要 Programming能力,还要3D建模能力,这些学习起来周期就太长了;一直是Ubuntu Fans...

    新版Android开发教程.rar

    • Linux (tested on Linux Ubuntu Dapper Drake) Supported Supported Supported Supported Development Development Development Development Environments Environments Environments Environments Eclipse IDE o...

Global site tag (gtag.js) - Google Analytics