開發過程中 , 只因為修改一個小檔案 ( jni 的 .so file ) , 卻需要將 SD 從EVB 移除 , 然後放到 Fedora 上 去複製檔案 , 真的有點 "煩" !! 如果有 lrz/lsz 就好了 !!
好吧 , 移植 lrz/lsz 吧 !! Android 使用 binoic library , 和一般 cross toolchain 的 library 不同 , 並且沒有辦法執行 .configure 去產生 Makefile , Makefile 也不被Andriod Source tree 接受 , 真是大工程........ !!
找找看 , 有沒有人已經將 lrz/lsz 放到 Android 上了 !! 找了兩天..... 發現 linaro 這個組織 , 專門優化 ARM 系統的東西 , 並且在 ICS 4.0.4 上有 lrz/lsz 的 source .....嘿嘿...借來用一下吧 !! 不過也公佈一下 這個組織網頁 ... 如下:
http://www.linaro.org/linux-on-arm
按照 linaro 網頁上說明 , 將整個 source tree repo 下來 , 並將 ./externel/lrzsz 資料夾 移到 TI BSP 的相對應位置上 . 並修改 ./externel/lrzsz/Android.mk , 主要是 style 修改 , 並沒有其它改動 ,修改後如下:
LOCAL_PATH:= $(call my-dir)
lrzsz_local_comm_file := timing.c zperr.c zreadline.c crctab.c \
rbsb.c zm.c protname.c tcp.c lsyslog.c \
canit.c long-options.c xstrtol.c xstrtoul.c error.c
include $(CLEAR_VARS)
LOCAL_SRC_FILES := lrz.c $(lrzsz_local_comm_file)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := lrz
LOCAL_CFLAGS := -DNFGVMIN -DHAVE_CONFIG_H=1
LOCAL_SHARED_LIBRARIES := libc
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := lsz.c $(lrzsz_local_comm_file)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := lsz
LOCAL_CFLAGS := -DNFGVMIN -DHAVE_CONFIG_H=1
LOCAL_SHARED_LIBRARIES := libc
include $(BUILD_EXECUTABLE)
一樣的 make 過程中會編譯但是沒有安裝 , 所以修改 ./build/target/product/core.mk檔案 , 加入 lrz , lsz 兩個 packages name , 修改項目如下:
libwilhelm \
libz \
screencap \
sensorservice \
lrz\
lsz \
# host-only dependencies
ifeq ($(WITH_HOST_DALVIK),true)
PRODUCT_PACKAGES += \
OK 啦 , 可以 lrz / lsz 操作了 !! 這樣開發過程會 "爽" 一點 !!
PS. 115200 bsp 遇到大的檔案還是要花很久 , 不過至少一些 .so 或是 testing program 就可以方便多了 !!
would you please share me your lrzsz source code? when I compile, I got:external/lrzsz/zglobal.h:26:20: fatal error: config.h: No such file or directory.
回覆刪除but my source code has no config.h.
Thank you very much.