1:建一个androd项目 在src下写一个Demo.java包括一些jni方法如下:
public native getData();
2:把Demo.java生成一个c的头文件 然后在这个头文件下写相关的c方法
步骤如下:
从cmd进入到android项目的bin目录下:输入 javah -classpath. jni tao.hai.bing.Demo
(注意有时候javah找不到,要把javah.exe目录加入到环境变量中去,path。。。)
3:在bin目录下找到生成的头文件
4:在ndk目录下操作
1)在ndk中的source目录下建一个demo文件夹并建一个Android.mk文件
内容如下:
LOCAL_PATH :=${call my-dir}
include ${CLEAR_VARS}
LOCAL_MODULE :=demo //app会用到 生成的文件是libdemo.so文件
LOCAL_SRC_FILES :=tao_hai_bing_Demo.c 编译的文件
LOCAL_CFLAGS :=**.c 项目需要的.h头文件目录列表
LOCAL_LDLIBS := **.so
2)在App目录下建一个和source目录下建的文件夹一个名称
加入一个Application.mk文件 内容如下:
APP_PROJECT_PATH := ${call my_dir}/project
APP_MODULES:=demo
3)点击cygwin的批处理输入: cd $ANDROID_NDK_ROOT ->make APP=demo
4)这样就会在ndk目录的app文件夹的demo内生成project目录把lib目录拷贝到
android项目的下和src并集
5:android项目调用so文件的内容
在android的activity类下加入如下方法:
static
{
System.loadLibrary("demo");
.....
Demo demo = new Demo()
demo.getData();//这样这个数据就从c文件传过来的
.....
}
分享到:
相关推荐
利用ndk编译android的sh文件,利用该sh文件,能够正确编译出so文件
opus NDK 编译 Android.mk文件 仅供参考
live555 库 和 testRtspClient.cpp 编译生成静态库 和 可执行文件 testRtspClient 编译方法: 首先进入各个模块执行 Makefile,将静态库拷贝至上层目录 执行 ndk-build
curl库源码添加了curl_config.h和mk文件,可以直接跳转到目录使用ndk-build编译出so库.
android JNI运行NDK编译成的可执行文件。 具体信息参考博客http://blog.csdn.net/csdn49532/article/details/50698666
windows下Android,ndk编译C文件脚本,完整说明和使用,只支持cmake方式。
详细介绍android ndk编译环境搭建,可以自行编译android app所需的C++/C代码实现的高效率功能动态库文件,借JAVA层调用.
ndk-r17b编译及使用ollvm-tti步骤(提供编译后文件) 源码地址: https://github.com/yazhiwang/ollvm-tll 一、编译ollvm-tti 1.git clone https://github.com/yazhiwang/ollvm-tll.git 2.mkdir build 3.cd ...
参考 https://hoffman-andrews.com/android/wget/ 上传包里面的项目可以编译生成安卓平台下的wget可执行文件。
原生lapack是用fortran语言写... 5、如果编译出现(87)错误,则分别在jni目录下的android.mk和application.mk文件中分别加上 LOCAL_SHORT_COMMANDS := true 和 APP_SHORT_COMMANDS := true即可。 最后,本人亲测可行。
使用NDK编译Android第三库.so和.a 文件,参考开源项目
安卓 NDK 编译lua 所需要的所有文件 包含java声明 和C源码 使用方式 我的博客
android studio中使用ndk编译.so文件,调用C/C++代码(jni编程)
ndk编译JRTPLIB源文件(包括相应的Android.mk和Application.mk文件) 使用cygwin+NDK可直接编译通过 相关cygwin命令,文件夹放在c盘上 cd /cygdrive/c/jrtp export NDK_MODULE_PATH=/cygdrive/c/jrtp /cygdrive/c...
android ndk 开发的简单实例
这个是BiliBili开源版本IjkPlayer的Android版本,已经NDK编译过,省略大家编译的痛苦过程!jkplayer是基于ffmpeg/ffplay的轻量级Android/iOS视频播放器,可实现跨平台的功能,API易于集成,编译配置可裁剪!
ubuntu下ndk编译ffmpeg0.8.1,详细介绍了如何将ffmpeg移植到linux下,生成的so动态链接库文件可以直接在android里使用。
针对Android平台编译好的FFmpeg 6.0的动态链接库.so文件,包括armeabi-v7a ,arm64-v8a两个版本.
ffmpeg4.16 ndk21 android 21 版本编译的库,包含 arm-v7a、arm-v8,包含include、动态链接库.so文件。
在Ubuntu的情况下,ndk-build编译C++成Android Studio可用的so文件。这里是一个将android-ndk-r21e生成交叉编译链之后,可以直接使用ndk-build这个指令就可以生成Android Studio可以使用的依赖库.so文件。CRC16是一...