編輯:關於Android編程
android開發源碼分析--多個activity調用多個jni庫的方法
有時候,我們在開發android項目時會遇到需要調用多個native c/jni庫文件,以下是本人曾經實現過的方法,如果有知道其他方法,還望不吝指教。
例如,在android工程裡有兩個activity,分別是activity1和activity2,(可以進入工程目錄bin/classes路徑下查看有哪些),在這兩個activity裡都有調用jni,步驟如下:1、 在activity1和activity2裡分別聲明native c
例如:activity1.java裡
private native String StringFromActivity1Jni();
static
{
System.loadLibrary("activity1");
}
Activity2.java裡
private native String StringFromActivity2Jni();
static
{
System.loadLibrary("activity2");
}
2、 生成 .h文件
用命令:javah -classpath bin/classes/ -jni com.myprj.uitest.activity1和javah -classpath bin/classes/ -jnicom.myprj.uitest.activity2 生成activity1和activity2裡的頭文件
需要特別注意的是紅色部分,一定要存在。可以進入工程目錄bin/classes路徑下查看。如果不能在jni下生成,那就mv吧。
3、 編寫Android.mk文件:
LOCAL_PATH := $(call my-dir) //只能有一個這個路徑
include $(CLEAR_VARS)
LOCAL_MODULE := activity1
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
$(LOCAL_PATH)/android
LOCAL_SRC_FILES := activity1.c
LOCAL_LDLIBS := -L$(LOCAL_PATH) -lm -lz -llog
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := activity2
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
$(LOCAL_PATH)/android
LOCAL_SRC_FILES := activity2.c
LOCAL_LDLIBS := -L$(LOCAL_PATH) -lm -lz -llog
include $(BUILD_SHARED_LIBRARY)
需要注意的是:include $(BUILD_SHARED_LIBRARY)是生成動態庫,也可以生成靜態庫include $(PREBUILT_STATIC_LIBRARY)
4、 編譯:
ndk-build
學習目的: 1、了解在Android中如何設置和調用XML資源 2、掌握如何利用XML和JAVA代碼進行協同開發界面 3、理解R文件的作用 開發Android時,總能看到
如果你是在校大學生,或許你用多了各種課程表,比如課程格子,超級課程表。它們都有一個共同點就是可以一鍵導入教務處的課程。那麼一直都是用戶的我們,沒有考慮過它是
RecyclerView 已經出來很久了,但是在項目中之前都使用的是ListView,最近新的項目上了都大量的使用了RecycleView.尤其是瀑布流的下拉刷新,網上吧
NinePatch圖片以*.9.png結尾,和普通圖片的區別是四周多了一個邊框如上圖所示,左邊那條黑色線代表圖片垂直拉伸的區域,上邊的那條黑色線代表水平拉伸區域,右邊的黑