android.mk
#jni/android.mk
local_path:= $(call my-dir)
include $(clear_vars)
local_module := android-ffmpeg
local_src_files :=c ffmpeg-build/$(target_arch_abi)/libffmpeg.so
local_export_c_includes := ffmpeg-build/$(target_arch_abi)/include
local_arm_neon:=true
include $(prebuilt_shared_library)
include $(clear_vars)
local_module:=ffmpeg-jni
local_src_files:=ffmpeg-jni.cpp player.cpp fast_queue.cpp
local_ldlibs:=-llog -lz -lm -landroid
local_shared_libraries:=android-ffmpeg
local_static_libraries:=androidvideo androidaudio omxdecoder
include $(build_shared_library)
include $(call all-makefiles-under,$(local_path))
執行時,如果報錯找不到so庫,可以執行命令載入so所在路徑:
通常,開發android的軟體,常常需要編譯so庫,然編譯的這個so庫,需要呼叫多個其它的so庫。這裡主要記錄一下,編譯so庫時,呼叫其它so庫的mk,是怎麼寫的。
這裡講的示例:需要編譯出libtest3.so,它需要呼叫libtest1.so,libtest2.so
1. 在android 原始碼下編譯
local_path:= $(call my-dir)
include $(clear_vars)
local_module_tags := eng
local_src_files := \
test3.cpp
local_c_includes += \
$(local_path)/include/ \
external/libpiccreader/
local_module := libtest3
#local_ldlibs += -lpthread -ldl
local_shared_libraries := liblog \
libcutils \
libutils \
libtest1 \
libtest2
include $(build_shared_library)
2. 在ndk的環境下編譯
local_path:= $(call my-dir)
include $(clear_vars)
local_module := libtest1
local_src_files := libtest1.so
include $(prebuilt_shared_library)
include $(clear_vars)
local_module := libtest2
local_src_files := libtest2.so
include $(prebuilt_shared_library)
include $(clear_vars)
local_module_tags := eng
local_src_files := \
test3.cpp
local_module := libtest3
local_ldlibs += -l$(sysroot)/usr/lib -llog
local_shared_libraries := liblog \
libcutils \
libutils \
libtest1 \
libtest2
include $(build_shared_library)
在android.mk中新增
local_ldflags += -l/path/to/lib -llibname
Android 資源引用
命名空間 命名空間即為避免不同開發包變數衝突,如甲公司 乙公司均出了開發包,兩個開發包大量變數名相同,為避免衝突,兩個公司都給開發包規定了命名空間,引用開發包中的變數時必須新增命名空間名 android為例 xml檔案中第乙個元素 設定命名空間xmlns android 則android layou...
android 軟引用使用
首先定義乙個hashmap,儲存軟引用物件。private map imagecache new hashmap 再來定義乙個方法,儲存bitmap的軟引用到hashmap。public void addbitmaptocache string path 獲取的時候,可以通過softreferenc...
關於glew h glut h引用
在opengl程式設計中,使用glmultitexcoord2f gl texture0 i,x,y 你會發現這個函式都沒有定義的,以及gl texture0,這個常量。因為在vc編譯器中,opengl的版本是1.1,版本比較落後,下個 glew庫就可以了。安裝的步驟,與glut一模一樣,將dll動...