环境:win7 64位,虚拟机ubuntu10.04,TI4.1.2源码
在源码下编译so文件是方便了,不要在下载android ndk 和cygwin啥的。
具体做法如下:
1 在源码新建的extral/mtJNItest/Android.mk
内容:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
SerialPort.c
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := \
$(JNI_H_INCLUDE)
LOCAL_SHARED_LIBRARIES := libutils
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := libmyserialport
include $(BUILD_SHARED_LIBRARY)
2,编写c文件
在复制你的c代码,必须准守java调用的c代码哦Jint啥的
重点是c的代码如何写,不小心就会找不到方法
比如JNIEXPORT jint JNICALL Java_com_start_am335x_factorytest_utils_SerialPort_test
(JNIEnv *env, jobject t){
return 110;
}
函数名字分析:
JNICALL Java是固定
com_start_am335x_factorytest是包名
utils是包下的类名
test才是函数名
还有一些数据类型以后再补充。。。
3 开始编译:
在源码目录下执行 make libmyserialport TARGET_PRODUCT=am335xevm
ok,在out回生成libmyserialport.so库
4 使用so库
拷贝到libs下的armeabi开始调用了
需要注意的是
public native void test();
static {
System.loadLibrary("myserialport");//不是libmyserialport
}
相关推荐
Android studio CMake 编译ffmpeg SO库 头文件 和 CMakeLists
将live555源码编译成可供android-ndk使用的动态库 1、linux下新建jni, 将Android.mk、build.sh放在jni目录,然后将live555源码下的目录 BasicUsageEnvironment、groupsock、liveMedia、UsageEnvironment也复制到jni...
Android FFMpeg 编译的so库和源码,采取CMake方式编译。
最新源码编译的ijkplayer android armev7a x86 库 支持 https,和更多音视频格式 avi rmvb等
curl库源码添加了curl_config.h和mk文件,可以直接跳转到目录使用ndk-build编译出so库.
Android MP4v2 编译全类型so文件,参考博文地址:https://blog.csdn.net/chezi008/article/details/80307391
./configure --prefix=/usr/local/android --host aarch64-linux-android --with-pic --disable-shared make -j4;make install 在wsl下面用ndk20编译的, aarch64-linux-android29-clang++ aarch64-linux-android-...
Android Studio使用第三方so库时编译的源码,AS项目
1.Android系统源码定制和编译方法(Android7.0至...4.Android.mk或Android.bp编译生成Apk、静态库、动态库、可执行文件等的使用方法 5.Android系统定制有源码App或无源码App时关于Android.mk或Android.bp的使用方法
博客地址:http://blog.csdn.net/krubo1/article/details/50547681
自写AndroidStudio JNI编程静态注册 编译调用so,雷电模拟器3可正常运行。Android Studio直接导入项目即可使用
AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码
这里包含编译好的支持加密的so库,支持128位AES,以及Delphi调用需要的文件和示例,这个源码没有充分测试,如有问题就在我的博客上留言。资源分没有办法更改为0,请大家多担待一下,本想免费给大家的,以前是可以不...
Libredwg的源码通过Android STudio交叉编译生成的库,下载下来就能直接用,省去了自己编译,修改报错,不兼容或者环境的问题。 arm64-v8a/ armeabi-v7a/ x86/ x86_64/ 如果你需要原始的可自己编译的工程可以私信...
在目录src/main 下新建了aidl 文件夹之后,在aidl文件夹中也创建了相同的包路径, 创建AIDL文件 XXX.aidl 如果XXX.aidl引用了一个java下的model例如引用了a.b.c.Model; 则需要在XXX.aidl文件中声明import a.b.c....
将C语言编写的3DES加密算法源码编译成Android下可调用的SO库文件,包含JNI源码以及Android MakeFile文件,可以很容易实现按需定制并重新编译成你想要的调用接口。
opencv 3.1.0 源码重新编译出的Android sdk so 文件 ,解决了Google play 报的libpng 旧版本安全漏洞,本so 文件 采用的是最新的libpng 1.6.23版本 ,包含arm arm-v7a mips x86 等平台文件
在ndk下编译的x264源码,已做修改,可以直接放在ndk下的samples目录下编译,该源码已经编译过,在libs目录下有libx264.so库,可以直接放在android下用
ijkplayer android编译好的so库,支持https,支持rmvb、avi等常用视频格式
针对Android平台编译好的FFmpeg 6.0的动态链接库.so文件,包括armeabi-v7a ,arm64-v8a两个版本.