动态库so打包到android apk
来源:互联网 发布:js导入导出表格插件 编辑:程序博客网 时间:2024/05/04 00:01
编译libjnisimple.so
Android/development/samples/SimpleJNI/jni/Android.mk
# This makefile supplies the rules for building a library of JNI code for# use by our example of how to bundle a shared library with an APK.LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := samples# This is the target being built.LOCAL_MODULE:= libsimplejni# All of the source files that we will compile.LOCAL_SRC_FILES:= \ native.cpp# All of the shared libraries we link against.LOCAL_SHARED_LIBRARIES := \ libutils# No static libraries.LOCAL_STATIC_LIBRARIES :=# Also need the JNI headers.LOCAL_C_INCLUDES += \ $(JNI_H_INCLUDE)# No special compiler flags.LOCAL_CFLAGS +=# Don't prelink this library. For more efficient code, you may want# to add this library to the prelink map and set this to true. However,# it's difficult to do this for applications that are not supplied as# part of a system image.LOCAL_PRELINK_MODULE := falseinclude $(BUILD_SHARED_LIBRARY)
注意:在jni的C++代码中,JNI_OnLoad要用C编译器编译(extern "C"),否则会出现dalvik找不到JNI_OnLoad函数并跳过初始化。
D/dalvikvm( 4581): No JNI_OnLoad found in /data/data/xxxxlib/libsimplejni.so 0x481f3b78, skipping init
编译apk
Android/development/samples/SimpleJNI/Android.mk
# This makefile shows how to build a shared library and an activity that# bundles the shared library and calls it using JNI.TOP_LOCAL_PATH:= $(call my-dir)# Build activityLOCAL_PATH:= $(TOP_LOCAL_PATH)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := samplesLOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_PACKAGE_NAME := SimpleJNILOCAL_JNI_SHARED_LIBRARIES := libsimplejniLOCAL_PROGUARD_ENABLED := disabledinclude $(BUILD_PACKAGE)# ============================================================# Also build all of the sub-targets under this one: the shared library.include $(call all-makefiles-under,$(LOCAL_PATH))
注意:jni中实现的function,在java中必须要定义成native
编辑jni层文件编译so & apk
adb shell pm uninstall -f com.example.android.simplejni
adb install SimpleJNI.apk
- 动态库so打包到android apk
- 动态库so打包到android apk
- Android 打包so动态库文件到APK
- Android 打包so动态库文件到APK
- Android 打包so动态库文件到APK
- Android 打包so动态库文件到APK
- Android 打包so动态库文件到APK
- Android 打包so动态库文件到APK
- Android之Windows下生成动态库so并打包到APK中
- Android之Windows下生成动态库so并打包到APK中
- android studio 打包第三方so库到apk
- Android Studio打包.so库到apk中
- Android Studio打包.so库到apk中
- android打包so文件到apk
- android打包so文件到apk
- android打包so文件到apk
- Android打包so文件到apk
- android打包so文件到apk
- Java多线程编程#执行线程示例
- <s:iterator> 中的status 使用方法
- centos下openmotif安装
- Hadoop : MapReduce中的Shuffle和Sort分析
- USB枚举过程
- 动态库so打包到android apk
- Java压缩/解压缩二进制文件
- asp中SQLHelper的引用问题
- oradebug的简单介绍及应用
- JAVA线程池的分析和使用
- 经典中的经典,启发人类。
- 地震:谷歌如何用“神经网络”改造Android
- Hibernate 无主键,生成2个JAVA类的查询方法
- ios系统越狱才可以享受的100项操作