Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android——4.2 - 3G移植之路之libusb (一)

Android——4.2 - 3G移植之路之libusb (一)

編輯:關於Android編程

前段時間往smart TV上移植3G模塊,發現移植3G的百度谷歌一搜,基本全是linux開發板上的,

我在這裡記錄一下 我移植 的全過程,讓他人少走彎路,有什麼建議或者不對的歡迎留言~

 

目前的3G模塊都是usb接口的,插在android系統中都會默認識別為usb storage 設備,會嘗試通過Vold 掛載為usb 存儲設備!

所以必須要把設備類型轉掉,轉換成Modem類型設備,只有這樣才能實現主機與模塊之間的正常通信,這裡就需要一個轉換驅動了,

 

只有通過模式轉換才算是正確的識別到了3G設備, 這裡先解析 usb-modeswitch 所需要的 API 的移植。

 

 

二.編譯libusb/libusb-compat

從上面的網址上面可以下載最新的 libusb-1.0.9 libusb-compat-0.1.4 (對久版本的兼容),

解壓到我們android源碼的 external 中,這兩個lib 是為後面的usb_modeswitch服務的動態庫,可以直接在linux上進行交叉編譯,最後也能得到libusb.so libusb-compat.so,編譯方法網上有很多!

我想竟然是往android平台移植,那麼我就放到external中用android的編譯機制去編譯!

往兩個文件夾下面添加Android.mk

先看libusb的Android.mk:

 

#jscese add this android.mk to compile libusb.so for usb_modelswitch 140819
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

common_src :=
	libusb/core.c 
	libusb/descriptor.c 
	libusb/io.c 
	libusb/sync.c 
	libusb/os/linux_usbfs.c 
	
common_include :=
	$(LOCAL_PATH)/ 
	$(LOCAL_PATH)/libusb 
	$(LOCAL_PATH)/libusb/os
	
LOCAL_MODULE := libusb
LOCAL_SRC_FILES :=$(common_src)

LOCAL_C_INCLUDES +=$(common_include)
include $(BUILD_SHARED_LIBRARY)

 

可以看到編譯的.c源文件只要5個就OK 了,我們下載的libusb包裡面有的不需要,需要進行一些修改和配置,

我的libusb源碼下載:http://download.csdn.net/detail/jscese/7868431

 

libusb-compat的Android.mk:

 

#jscese add this android.mk to compile libusb-compat.so for usb_modelswitch 140819
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LIBUSB_DIR :=external/libusb

common_src :=
	libusb/core.c 

	
common_include :=
	$(LOCAL_PATH)/ 
	$(LOCAL_PATH)/libusb 
	$(LIBUSB_DIR)/libusb


LOCAL_MODULE := libusb-compat
LOCAL_SRC_FILES :=$(common_src)
LOCAL_C_INCLUDES +=$(common_include)
LOCAL_SHARED_LIBRARIES := libusb

include $(BUILD_SHARED_LIBRARY)

 

可以看到libusb-compat 引入libusb

我的libusb-compat源碼下載:http://download.csdn.net/detail/jscese/7868445

 

可在源碼下 通過:

 

mmm external/libusb

單獨編譯對應的.so

 

 

這裡先記錄libusb的移植,一步一步來。。

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved