編輯:關於Android編程
前言
歡迎大家我分享和推薦好用的代碼段~~
聲明
歡迎轉載,但請保留文章原始出處:
CSDN:http://www.csdn.net
雨季o莫憂離:http://blog.csdn.net/luckkof
正文
手機連接電腦時,能同時看到內卡,外卡和虛擬光驅盤符
1. 把LUN改成3個,並且最後一個定義為CDROM
kernel\drivers\usb\gadget\android.c
static int mass_storage_function_init(struct android_usb_function *f,
struct usb_composite_dev *cdev)
{
struct mass_storage_function_config *config;
struct fsg_common *common;
int err;
int i;
config = kzalloc(sizeof(struct mass_storage_function_config),
GFP_KERNEL);
if (!config)
return -ENOMEM;
#ifdef MTK_MULTI_STORAGE_SUPPORT
#ifdef MTK_SHARED_SDCARD
#define NLUN_STORAGE 1
#else
#define NLUN_STORAGE 2
#endif
#else
#define NLUN_STORAGE 1
#endif
#define NLUN_STORAGE 3 //add 1/3
config->fsg.nluns = NLUN_STORAGE;
for(i = 0; i < config->fsg.nluns; i++) {
config->fsg.luns[i].removable = 1;
config->fsg.luns[i].nofua = 1;
}
config->fsg.luns[NLUN_STORAGE-1].cdrom = 1; //add 2/3
common = fsg_common_init(NULL, cdev, &config->fsg);
if (IS_ERR(common)) {
kfree(config);
return PTR_ERR(common);
}
err = sysfs_create_link(&f->dev->kobj,
&common->luns[0].dev.kobj,
"lun");
if (err) {
kfree(config);
return err;
}
/*
* "i" starts from "1", cuz dont want to change the naming of
* the original path of "lun0".
*/
for(i = 1; i < config->fsg.nluns; i++) {
char string_lun[5]={0};
sprintf(string_lun, "lun%d",i);
err = sysfs_create_link(&f->dev->kobj,
&common->luns[i].dev.kobj,
string_lun);
if (err) {
kfree(config);
return err;
}
}
common->android_callback = &mass_storage_callback;
config->common = common;
f->config = config;
return 0;
}
2. 把loop0一開機就寫入lun2/file裡,讓PC可以看到CD-ROM內容。
mediatek\config\mt6589\init.usb.rc
on init
# Workarunod for USB unknow device issue
# USB would switch correct function when set properity sys.usb.config
setprop sys.usb.vid 0BB4
write /sys/class/android_usb/android0/iSerial $ro.serialno
write /sys/class/android_usb/android0/idVendor $sys.usb.vid
on post-fs-data
chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr
write /sys/class/android_usb/android0/f_rndis/wceis 1
write /sys/class/android_usb/android0/f_rndis/manufacturer MediaTek
write /sys/class/android_usb/android0/f_rndis/vendorID $sys.usb.vid
write /sys/class/android_usb/android0/f_mass_storage/lun2/file "/dev/block/loop0"
#add 3/3
3. 讓BICR的UI不顯示。
mediatek\config\[PROJECT]\system.prop
ro.sys.usb.bicr=no
在Android中listview是最常用的控件之一,但是有時候我們會覺得千篇一律的listview看起來過於單調,於是就產生了listView動畫,listview加載
前段時間項目有需要要顯示彩色探測點的二維碼,網上搜了下,有基於java,c等的源碼。網上的java源碼直接照搬有些問題,自己改了改。不說廢話,先上結果圖。原理其實很簡單,
在平時開發過程中,MD5加密是一個比較常用的算法,最常見的使用場景就是在帳號注冊時,用戶輸入的密碼經md5加密後,傳輸至服務器保存起來。雖然md5加密經常用,但是md5的
Android系統架構Linux內核層。Android系統是基於Linux 2.6內核的,這一層為Android設備的各種硬件提供了底層的驅動,如顯示驅動、音頻驅動、照相