android NDK开发学习教程
程序员文章站
2023-04-06 20:38:54
使用ndk-build 工具进行交叉编译
重点需要 android.mk和application.mk 配合否则没法进行下一步
假如你已经搭建好ndk-build 工具的下载和环境的配置
下面进行一...
使用ndk-build 工具进行交叉编译
重点需要 android.mk和application.mk 配合否则没法进行下一步
假如你已经搭建好ndk-build 工具的下载和环境的配置
下面进行一些笔录
1.在需要调用native 方法的类中写native 方法如 :public class mainactivity extends appcompatactivity { public static native int cout(int a);//申明native 方法 static { system.loadlibrary(“jnidemo”);//加载libjnidemo } @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); int cout = cout(5);//调用native } }
2,生成头文件.h如 在app/src/main/java下执行
javah -jni 类全名
//第二部生成头文件 //amituodembp:ndk_learn qundui$ cd app/src/main/java // amituodembp:java qundui$ javah -jni com.example.qundui.ndkonesampledemo.mainactivity // amituodembp:java qundui$ // build 是在main 下
3 在main下创建jni 目录存放.h和.c文件.mk配置文件
copy 生成的头文件如:com.example.qundui.ndkonesampledemo.mainactivity.h /* do not edit this file - it is machine generated */ #include /* header for class com_example_qundui_ndkonesampledemo_mainactivity */ #ifndef _included_com_example_qundui_ndkonesampledemo_mainactivity #define _included_com_example_qundui_ndkonesampledemo_mainactivity #ifdef __cplusplus extern "c" { #endif /* * class: com_example_qundui_ndkonesampledemo_mainactivity * method: count * signature: (i)i */ jniexport jint jnicall java_com_example_qundui_ndkonesampledemo_mainactivity_count (jnienv *, jclass, jint); #ifdef __cplusplus } #endif #endif android.mk文件: local_path := $(call my-dir) include $(clear_vars) local_module := jnidemo local_src_files :=jnidemo.c include $(build_shared_library) application.mk文件:】 app_abi := all app_platform := android-22 .c文件: // #include #include jniexport jint jnicall java_com_example_qundui_ndkonesampledemo_mainactivity_count (jnienv * env, jclass cls, jint num){ return num * num+200; } 4》在app/src/main/下执行ndk-build生成.so 5. sourcesets{ main { jni.srcdirs = [] jnilibs.srcdirs = ['src/main/libs'] } } 注意在android{}里面。
上一篇: 专注于观察才是摄影之道 摄影师丁三郎教你如何拍好照片
下一篇: PHP经典面试题集锦
推荐阅读
-
Android开发之图形图像与动画(一)Paint和Canvas类学习
-
谷歌android apk开发工具Android Studio安装使用图文教程
-
Android Studio开发环境搭建教程详解
-
使用Kotlin开发Android应用教程
-
最新版安卓应用(android)开发环境搭建图解教程(带Andriod NDK)
-
谷歌android apk开发工具Android Studio安装使用图文教程
-
Android NDK开发系列教程:如何调用及传参方法
-
android开发实践之ndk编译命令简单示例
-
Android学习教程之2D绘图基础及绘制太极图
-
MyBatis学习教程之开发Dao的方法教程