- 浏览: 116533 次
- 性别:
- 来自: 成都
文章分类
创建工程:结构如下
代码如下:
这样在工程的bin目录下就生成了.class文件,这时切换到src目录,用javah生成头文件:
根据头文件创建.c文件
创建 Android.mk文件
将.h .c Android.mk文件放入一个文件夹,复制到Android源码 2.2source/external/XXX,然后编译下这个文件夹就会生成so库啦,将so放到工程的libs/armeabi下,再运行试试,可以了吧。
代码如下:
package com.tcl.testjni; public class MyJNI { public native void fun(); }
package com.tcl.testjni; import android.R.integer; import android.app.Activity; import android.os.Bundle; import android.text.StaticLayout; public class TestJNIActivity extends Activity { static{ System.loadLibrary("kang"); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MyJNI jni = new MyJNI(); jni.fun(); } }
这样在工程的bin目录下就生成了.class文件,这时切换到src目录,用javah生成头文件:
根据头文件创建.c文件
/* DO NOT EDIT THIS FILE - it is machine generated */ #include "com_tcl_testjni_MyJNI.h" JNIEXPORT void JNICALL Java_com_tcl_testjni_MyJNI_fun (JNIEnv *, jobject) { printf("%s","here is jni"); }
创建 Android.mk文件
# # Copyright (C) 2008 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ com_tcl_testjni_MyJNI.c LOCAL_C_INCLUDES := \ $(JNI_H_INCLUDE) LOCAL_SHARED_LIBRARIES := libutils LOCAL_PRELINK_MODULE := false LOCAL_MODULE := libkang include $(BUILD_SHARED_LIBRARY)
将.h .c Android.mk文件放入一个文件夹,复制到Android源码 2.2source/external/XXX,然后编译下这个文件夹就会生成so库啦,将so放到工程的libs/armeabi下,再运行试试,可以了吧。
发表评论
-
ubuntu16 OpenGrok配置多项目
2019-03-29 14:26 1125以前的博客介绍过OpenGrok配置一个项目,这里介绍下 ... -
android adb shell su设置密码
2019-03-26 14:02 23071.打开su源码在system/extras/su/su. ... -
make日志同时输出到控制台和文件
2019-03-22 10:23 11850 标准输入 stdin = standard in ... -
增加自定义property目录
2019-03-18 10:04 341打开文件system/core/init/property ... -
recovery增加打印到串口和增加复制代码
2019-03-07 09:49 591项目里需要调试recover,网上查了部分资料,增加了 ... -
android adb shell命令启动应用
2019-03-01 13:33 13071.执行adb shell 2.这里以打开设置为例: ... -
android HAL层例子
2019-02-27 11:15 1151上一篇文章已经写了led驱动,这篇文章我们再封装HAL层 ... -
FireFlay开发板点亮LED驱动开发
2019-02-22 11:09 487实现功能,点亮LED,参考了网上部分代码。 1.在目 ... -
RK3288 默认打开adb调试
2019-02-19 14:03 2043在文件:vendor/rockchip/firefly/us ... -
RK3288 修改开机动画和开机图片
2019-02-18 11:25 1735开机动画: 1.创建一个目录frameworks/ba ... -
android系统修改默认语言为中文
2019-02-18 11:19 849修改 build/target/product/full_b ... -
ubuntu OpenGrok的搭建
2019-02-18 11:15 958下载apache-tomcat-8.5.37和opengro ... -
gradleview错误定位
2019-01-08 14:39 3491、打开cmd,进入项目的gradle所在目录 2、键入gra ... -
安卓系统签名转keystore
2017-11-23 10:53 1196./keytool-importkeypair -k ./de ... -
抓jni日志
2017-11-16 14:29 341建一个sh文件,内容如下,将crash内容复制到crash.t ... -
android使用ffmpeg库
2017-03-15 09:42 6071.建立一个安卓工程,创建jni目录,将上一篇文章中的库和头文 ... -
FFMPEG android 库编译
2017-03-14 13:57 6131.首先下载ffmpeg源码:http://www.ffmpe ... -
Windows搭建OpenGrok
2014-12-08 11:33 16071.下载opengrok-0.11.1.tar.gz 二进制包 ... -
怎么给apk签名
2014-11-08 21:51 627jarsigner -verbose -keystore 证书 ... -
OpenGrok搜索技巧
2014-09-26 15:59 2733+ 表示包含此字符串,- 表示包含此字符串。例如在 Full ...
相关推荐
Android JNI编程demo
android studio 中 进行 JNI 开发的一个简单实例,入门demo
最好结合JNI官方教程、官方文档来学习如何在Android中使用JNI技术。 解压后,有3个文件,如下: 【eoe特刊】第七期:NDK.pdf android_jni操作指南.pdf Android史上最强NDK入门项目实战.rar
android开发之jni开发,java层native层之间的相互调用,方便广大学者工作者学习参考
参考:http://blog.csdn.net/linmiansheng/article/details/25113461
android jni的实例程序,对学习android上面的jni开发有很大的帮助
讲解了jni编程各种知识,包话了: java调用c,并返回参数,和传递参数 c调用java,并传递参数。 是 JNI编程指南前4章的总结。编辑和整理了一些网上的方法。
这是一个Android Studio的jni编程入门实例,配置方式简单易懂,本人有相应的博客说明,欢迎交流。
这个对想深入了解android的tongxue有帮助,有利于底层开发
通过JNI接口静态注册的native方法去创建线程,同时提供native回调Java的方法。通过这个框架可以去实现线程监听某一个状态,然后回调Java的方法(如发消息去通知顶层,实现显示)
使用NDK完成Android之JNI编程实例
NULL 博文链接:https://cnetwei.iteye.com/blog/825306
传智播客android NDK JNI编程
基于window平台下的android开发,用ndk开发jni编程,使c/c++和java语言互操作
这是一个简单的android studio中jni编程实例,包括生成.so和.jar方法,并且用test进行验证。
JNI编程指南.rar
Android中JNI编程的那些事儿
android精通JNI编程(牛人高焕堂写的)
自写AndroidStudio JNI编程静态注册 编译调用so,雷电模拟器3可正常运行。Android Studio直接导入项目即可使用
我自己给初学android jni编程人写的实例程序