首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

典型运用之——将库打进apk

2012-08-24 
典型应用之——将库打进apk转载??????????????????setContentView(tv)????????}????????public native int

典型应用之——将库打进apk
转载??????????????????setContentView(tv);
????????}

????????public native int testme(int x, int y);???// 声明JNI
}

b)???????项层Android.mk
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := user eng
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := mylib
LOCAL_JNI_SHARED_LIBRARIES := libtest //
安装库

include$(BUILD_PACKAGE)
include $(LOCAL_PATH)/jni/Android.mk? //
调用库的编译

include $(callall-makefiles-under,$(LOCAL_PATH))

c)????????jni程序(C程序实现)
#include<jni.h>

JNIEXPORT jint JNICALLJava_com_android_mylib_MyLibActivity_testme
(JNIEnv *env, jobject obj, jint x, jint y) { //JNI
的实现
????????return x + y;
}

d)???????jni层Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

|LOCAL_MODULE_TAGS := user eng
LOCAL_MODULE := libtest

LOCAL_SRC_FILES := jnitest.c
LOCAL_C_INCLUDES += \
???$(JNI_H_INCLUDE)
LOCAL_PRELINK_MODULE := false

include $(BUILD_SHARED_LIBRARY)// 编译so

4)???????执行结果
安装apk包后,用adbshell进入手机系统,然后ls/data/data/com.android.mylib/lib/可以看到库被安装到此处

2.???注意
对库进行调试不能adb install-r, 要先uninstall, 否则有时覆盖不了库

3.???参考

1)???????c回调java函数,可参数
http://blog.sina.com.cn/s/blog_4b650d650100lw43.html

热点排行