现在的位置: 首页 > 综合 > 正文

我的Android工作笔记

2013年04月28日 ⁄ 综合 ⁄ 共 18370字 ⁄ 字号 评论关闭

 

1:复制指令  cp ../master_system/* android/ -rf
编译之前要运行以下脚本文件
2:  . ./build/envsetup.sh
3:  . ./env.ut.sh
4:解压.tar.bz2 文件用tar xjvf
5:编译文件系统的时候开辟多线程编译用 mm -j 4 (4个线程)
6:find packages/apps/Settings/ -name *.xml | xargs grep "Quick launch" 找寻文件(在文件系统里面)
7:./frameworks/base/packages/SettingsProvider/res/xml/bookmarks.xml (Android的按键设置路径 在文件系统里面)
8:系统文件夹结构解析(http://www.hiapk.com/bbs/thread-162397-1-1.html
  \\system\\etc
  从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置
  \\system\\app
  这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不   会出现在这里,而是\\data\\文件夹中
  \\system\\bin
  这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,
  \\system\\framework
  framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
  \\system\\lib
  lib目录中存放的主要是系统底层库,如平台运行时库。
  \\system\\media
  铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
9:camera的按键修改函数是
static void key_timer_callback(struct work_struct *work)
10:如何传输文件 用adb shell
 指令:adb push goodix_touch_706.ko /system/
11:在编译驱动的时候 出现复用定义的变量 在文件中的该变量中加入 static 就可以解决问题
12:>密码多少?
    iamut、
13:按键映射的修改在/system/usr/keylayout/
    文件是 qwerty.k1
14:name 指令解析
寻找t或i打头的文件
$ find . -name "[ti]*"

 $ find /etc -name “net*” -type d   
/etc/net                                  目录

find  drivers/ -name "[m]*" 寻找M开头的文件和目录
15:关于IIC的地址映射的问题
比如在lcd里面和WM8976里面吧寄存器的地址都定义为RXX
想知道寄存器的地址就看看 register map
DEC 对应的是Rxx 里面的xx
HEX 对应的是真实寄存器的地址

动态音频电源管理(DAPM)
16:对iic的引用添加name很重要
   在mach-smdkv210.c里面添加名字就可以了(arch/arm)
17: 板级的驱动配置文件
Z:\android_froyo0\vendor\sec\utv210(路径)
BoardConfig.mk (打开蓝牙的驱动就在这里)
 BOARD_HAVE_BLUETOOTH := true
18:蓝牙测试程序
/ # bttest       
Usage:
  bttest enable
  bttest disable
  bttest is_enabled
19:3G
packages/apps/Settings/src/com/android/settings/network3g/
     ->static void msg_start(const char *name)(Z:\android_froyo0\system\core\init   init.c 代码是文件系统运行的第一个进程)
     switch_mode
20:
你可以通过以下方式来观察前一个命令的返回值:
echo $?

关系运算符:
-lt 小于
-le 小于或者等于
-gt 大于
-ge 大于或者等于
-eq 等于
-ne 不等于

21 : 升级包的位置
D:\20110416_v210\factory_update_files

22:用logcat & 来查看3G的连接情况 下面代表已经连接上了
 注意::::如果没有连接上 可以先看看ttyusb0有没有出现 如果出现了 再次连接
             就会连接上的

I/ActivityManager( 2176): moveTaskToBack: 6
D/dalvikvm( 2311): GC_EXTERNAL_ALLOC freed 1727 objects / 69464 bytes in 25ms
D/dalvikvm( 3115): GC_EXPLICIT freed 9986 objects / 774120 bytes in 36ms
D/dalvikvm( 2550): GC_EXPLICIT freed 57 objects / 2896 bytes in 31ms
23: 下面是/system/etc/ppp/setup 里面 AC2376.setup的内容
3.安装usbmodeswitch,终端运行sudo gedit /etc/usb_modeswitch.conf,在打开的窗口把内容清空
DefaultVendor=0x19d2
DefaultProduct=0xfff5
TargetVendor=0x19d2
TargetProduct=0xfffe
MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"
24:调用3G的模式转换函数的调用
packages/apps/Settings/src/com/android/settings/network3g/Network3gLayer.java:                
直接调用这句就ok
 SystemProperties.set("ctl.start", "switch_mode");

 

kernel\drivers\usb\storage    
kernel\drivers\scsi  

 

///////////***********************下面一段是读取proc的函数的状态。主要是放在java的函数里面 Network3gMonitorService.java 函数里面*****////////////////////
int maybe_modem_plug( )
{
 FILE* proc;
 char status[10];
 int ret;

#define MODEM_MAYBE_PLUGED "/proc/modem3g/modem_maybe_be_plug" 
 if ((proc = fopen(MODEM_MAYBE_PLUGED, "r")) == NULL) {
        LOGW("Could not open %s: %s", MODEM_MAYBE_PLUGED, strerror(errno));
        return 0;
     }

    if ((fgets(status, sizeof(status), proc)) != NULL) {
          if (strncmp(status, "1", 1) == 0) {
       fclose(proc);
          return 1;
        }       
    }
 fclose(proc); 
 return 0;
}

/////Android//////
产生提示界面
字符路劲是Z:\android_froyo0\packages\apps\Network3gMonitor\Network3gMonitor\res\values
下面的strings.xml 文件里面添加

import android.widget.Toast;

private void DisplayToast(String msg) {
  Toast.makeText(mContext, msg,
       Toast.LENGTH_SHORT).show();       
    }   

DisplayToast(
    mContext.getResources().getString(R.string.network_not_available));
}

试一下这个

 

清单 2. 对 /proc 进行读写(配置内核)
       
[root@plato]# cat /proc/sys/net/ipv4/ip_forward
0
[root@plato]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@plato]# cat /proc/sys/net/ipv4/ip_forward
1
[root@plato]#

linux /dev目录
linux /dev目录
dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和我们常用的windows, dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
 设备文件一般存放在/dev目录下
/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备 ,相当于回收站
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台1:复制指令  cp ../master_system/* android/ -rf
编译之前要运行以下脚本文件
2:  . ./build/envsetup.sh
3:  . ./env.ut.sh
4:解压.tar.bz2 文件用tar xjvf
5:编译文件系统的时候开辟多线程编译用 mm -j 4 (4个线程)
6:find packages/apps/Settings/ -name *.xml | xargs grep "Quick launch" 找寻文件(在文件系统里面)
7:./frameworks/base/packages/SettingsProvider/res/xml/bookmarks.xml (Android的按键设置路径 在文件系统里面)
8:系统文件夹结构解析(http://www.hiapk.com/bbs/thread-162397-1-1.html
  \\system\\etc
  从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置
  \\system\\app
  这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不   会出现在这里,而是\\data\\文件夹中
  \\system\\bin
  这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,
  \\system\\framework
  framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
  \\system\\lib
  lib目录中存放的主要是系统底层库,如平台运行时库。
  \\system\\media
  铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
9:camera的按键修改函数是
static void key_timer_callback(struct work_struct *work)
10:如何传输文件 用adb shell
 指令:adb push goodix_touch_706.ko /system/
11:在编译驱动的时候 出现复用定义的变量 在文件中的该变量中加入 static 就可以解决问题
12:>密码多少?
    iamut、
13:按键映射的修改在/system/usr/keylayout/
    文件是 qwerty.k1
14:name 指令解析
寻找t或i打头的文件
$ find . -name "[ti]*"

 $ find /etc -name “net*” -type d   
/etc/net                                  目录

find  drivers/ -name "[m]*" 寻找M开头的文件和目录
15:关于IIC的地址映射的问题
比如在lcd里面和WM8976里面吧寄存器的地址都定义为RXX
想知道寄存器的地址就看看 register map
DEC 对应的是Rxx 里面的xx
HEX 对应的是真实寄存器的地址

动态音频电源管理(DAPM)
16:对iic的引用添加name很重要
   在mach-smdkv210.c里面添加名字就可以了(arch/arm)
17: 板级的驱动配置文件
Z:\android_froyo0\vendor\sec\utv210(路径)
BoardConfig.mk (打开蓝牙的驱动就在这里)
 BOARD_HAVE_BLUETOOTH := true
18:蓝牙测试程序
/ # bttest       
Usage:
  bttest enable
  bttest disable
  bttest is_enabled
19:3G
packages/apps/Settings/src/com/android/settings/network3g/
     ->static void msg_start(const char *name)(Z:\android_froyo0\system\core\init   init.c 代码是文件系统运行的第一个进程)
     switch_mode
20:
你可以通过以下方式来观察前一个命令的返回值:
echo $?

关系运算符:
-lt 小于
-le 小于或者等于
-gt 大于
-ge 大于或者等于
-eq 等于
-ne 不等于

21 : 升级包的位置
D:\20110416_v210\factory_update_files

22:用logcat & 来查看3G的连接情况 下面代表已经连接上了
 注意::::如果没有连接上 可以先看看ttyusb0有没有出现 如果出现了 再次连接
             就会连接上的

I/ActivityManager( 2176): moveTaskToBack: 6
D/dalvikvm( 2311): GC_EXTERNAL_ALLOC freed 1727 objects / 69464 bytes in 25ms
D/dalvikvm( 3115): GC_EXPLICIT freed 9986 objects / 774120 bytes in 36ms
D/dalvikvm( 2550): GC_EXPLICIT freed 57 objects / 2896 bytes in 31ms
23: 下面是/system/etc/ppp/setup 里面 AC2376.setup的内容
3.安装usbmodeswitch,终端运行sudo gedit /etc/usb_modeswitch.conf,在打开的窗口把内容清空
DefaultVendor=0x19d2
DefaultProduct=0xfff5
TargetVendor=0x19d2
TargetProduct=0xfffe
MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"
24:调用3G的模式转换函数
packages/apps/Settings/src/com/android/settings/network3g/Network3gLayer.java:                  SystemProperties.set("ctl.start", "switch_mode");
packages/apps/Settings/src/com/android/settings/network3g/Network3gSettings.java:               SystemProperties.set("ctl.start", "switch_mode");

 

kernel\drivers\usb\storage    
kernel\drivers\scsi  

 

///////////***********************下面一段是读取proc的函数的状态。主要是放在java的函数里面 Network3gMonitorService.java 函数里面*****////////////////////
int maybe_modem_plug()
{
 FILE* proc;
 char status[10];
 int ret;

#define MODEM_MAYBE_PLUGED "/proc/modem3g/modem_maybe_be_plug" 
 if ((proc = fopen(MODEM_MAYBE_PLUGED, "r")) == NULL) {
        LOGW("Could not open %s: %s", MODEM_MAYBE_PLUGED, strerror(errno));
        return 0;
    }

    if ((fgets(status, sizeof(status), proc)) != NULL) {
        if (strncmp(status, "1", 1) == 0) {
   fclose(proc);
            return 1;
        }       
    }
 fclose(proc); 
 return 0;
}

 

cat /proc/bus/usb/devices 看插卡信息
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 1
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 2.06 
S:  Manufacturer=Linux 2.6.32.9 ohci_hcd
S:  Product=s5pv210 OHCI
S:  SerialNumber=s5pv210
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms
 
T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1da1 Rev= 1.00
S:  Manufacturer=HUAWEI Mobile
S:  Product=HUAWEI Mobile System Solution ////华为标示
S:  SerialNumber=666666-66-666666
C:* #Ifs= 1 Cfg#= 2 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usbfs
E:  Ad=05(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=85(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.9 ehci_hcd
S:  Product=s5pv210 EHCI
S:  SerialNumber=s5pv210
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

scsi 0:0:0:0: CD-ROM            HUAWEI   Mobile CMCC CD   1.25 PQ: 0 ANSI: 0
30:如何在Android下面编译单个应用程序
第一:在/android_froyo0/build$ . envsetup.sh
第二:/android_froyo0$ . env.ut.sh
//第三:mmm packages/
//第四:mmm hardware/ril/
第五:mmm hardware/ril/rild/
第六:out/target/product/utv210/system/bin/rild 产生的文件目录

sd卡的挂载
 # mount /dev/block/mmcblk1p1 /temp/
具体是block几,选数目大的哪一个
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]

1:复制指令  cp ../master_system/* android/ -rf
编译之前要运行以下脚本文件
2:  . ./build/envsetup.sh
3:  . ./env.ut.sh
4:解压.tar.bz2 文件用tar xjvf
5:编译文件系统的时候开辟多线程编译用 mm -j 4 (4个线程)
6:find packages/apps/Settings/ -name *.xml | xargs grep "Quick launch" 找寻文件(在文件系统里面)
7:./frameworks/base/packages/SettingsProvider/res/xml/bookmarks.xml (Android的按键设置路径 在文件系统里面)
8:系统文件夹结构解析(http://www.hiapk.com/bbs/thread-162397-1-1.html
  \\system\\etc
  从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置
  \\system\\app
  这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不   会出现在这里,而是\\data\\文件夹中
  \\system\\bin
  这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,
  \\system\\framework
  framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
  \\system\\lib
  lib目录中存放的主要是系统底层库,如平台运行时库。
  \\system\\media
  铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
9:camera的按键修改函数是
static void key_timer_callback(struct work_struct *work)
10:如何传输文件 用adb shell
 指令:adb push goodix_touch_706.ko /system/
11:在编译驱动的时候 出现复用定义的变量 在文件中的该变量中加入 static 就可以解决问题
12:>密码多少?
    iamut、
13:按键映射的修改在/system/usr/keylayout/
    文件是 qwerty.k1
14:name 指令解析
寻找t或i打头的文件
$ find . -name "[ti]*"

 $ find /etc -name “net*” -type d   
/etc/net                                  目录

find  drivers/ -name "[m]*" 寻找M开头的文件和目录
15:关于IIC的地址映射的问题
比如在lcd里面和WM8976里面吧寄存器的地址都定义为RXX
想知道寄存器的地址就看看 register map
DEC 对应的是Rxx 里面的xx
HEX 对应的是真实寄存器的地址

动态音频电源管理(DAPM)
16:对iic的引用添加name很重要
   在mach-smdkv210.c里面添加名字就可以了(arch/arm)
17: 板级的驱动配置文件
Z:\android_froyo0\vendor\sec\utv210(路径)
BoardConfig.mk (打开蓝牙的驱动就在这里)
 BOARD_HAVE_BLUETOOTH := true
18:蓝牙测试程序
/ # bttest       
Usage:
  bttest enable
  bttest disable
  bttest is_enabled
19:3G
packages/apps/Settings/src/com/android/settings/network3g/
     ->static void msg_start(const char *name)(Z:\android_froyo0\system\core\init   init.c 代码是文件系统运行的第一个进程)
     switch_mode
20:
你可以通过以下方式来观察前一个命令的返回值:
echo $?

关系运算符:
-lt 小于
-le 小于或者等于
-gt 大于
-ge 大于或者等于
-eq 等于
-ne 不等于

21 : 升级包的位置
D:\20110416_v210\factory_update_files

22:用logcat & 来查看3G的连接情况 下面代表已经连接上了
 注意::::如果没有连接上 可以先看看ttyusb0有没有出现 如果出现了 再次连接
             就会连接上的

I/ActivityManager( 2176): moveTaskToBack: 6
D/dalvikvm( 2311): GC_EXTERNAL_ALLOC freed 1727 objects / 69464 bytes in 25ms
D/dalvikvm( 3115): GC_EXPLICIT freed 9986 objects / 774120 bytes in 36ms
D/dalvikvm( 2550): GC_EXPLICIT freed 57 objects / 2896 bytes in 31ms
23: 下面是/system/etc/ppp/setup 里面 AC2376.setup的内容
3.安装usbmodeswitch,终端运行sudo gedit /etc/usb_modeswitch.conf,在打开的窗口把内容清空
DefaultVendor=0x19d2
DefaultProduct=0xfff5
TargetVendor=0x19d2
TargetProduct=0xfffe
MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"
24:调用3G的模式转换函数
packages/apps/Settings/src/com/android/settings/network3g/Network3gLayer.java:                  SystemProperties.set("ctl.start", "switch_mode");
packages/apps/Settings/src/com/android/settings/network3g/Network3gSettings.java:               SystemProperties.set("ctl.start", "switch_mode");

 

kernel\drivers\usb\storage    
kernel\drivers\scsi  

 

///////////***********************下面一段是读取proc的函数的状态。主要是放在java的函数里面 Network3gMonitorService.java 函数里面*****////////////////////
int maybe_modem_plug()
{
 FILE* proc;
 char status[10];
 int ret;

#define MODEM_MAYBE_PLUGED "/proc/modem3g/modem_maybe_be_plug" 
 if ((proc = fopen(MODEM_MAYBE_PLUGED, "r")) == NULL) {
        LOGW("Could not open %s: %s", MODEM_MAYBE_PLUGED, strerror(errno));
        return 0;
    }

    if ((fgets(status, sizeof(status), proc)) != NULL) {
        if (strncmp(status, "1", 1) == 0) {
   fclose(proc);
            return 1;
        }       
    }
 fclose(proc); 
 return 0;
}

 

cat /proc/bus/usb/devices 看插卡信息
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 1
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 2.06 
S:  Manufacturer=Linux 2.6.32.9 ohci_hcd
S:  Product=s5pv210 OHCI
S:  SerialNumber=s5pv210
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms
 
T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1da1 Rev= 1.00
S:  Manufacturer=HUAWEI Mobile
S:  Product=HUAWEI Mobile System Solution ////华为标示
S:  SerialNumber=666666-66-666666
C:* #Ifs= 1 Cfg#= 2 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usbfs
E:  Ad=05(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=85(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.9 ehci_hcd
S:  Product=s5pv210 EHCI
S:  SerialNumber=s5pv210
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

scsi 0:0:0:0: CD-ROM            HUAWEI   Mobile CMCC CD   1.25 PQ: 0 ANSI: 0
30:如何在Android下面编译单个应用程序
第一:在/android_froyo0/build$ . envsetup.sh
第二:/android_froyo0$ . env.ut.sh
//第三:mmm packages/
//第四:mmm hardware/ril/
第五:mmm hardware/ril/rild/
第六:out/target/product/utv210/system/bin/rild 产生的文件目录

sd卡的挂载
 # mount /dev/block/mmcblk1p1 /temp/
具体是block几,选数目大的哪一个

30 :java比较字符串的大小
String str1="abcd";
String str2="abcdefg";

我要判断str1是否和str2左面4位相同,怎么判断????
str1.eques(str2.subString(0,3))返回值是true表明是相等的
否则不等
 
31:urbetter 的uboot的编译流程
 
make smdkv210single_config
make -j 4
./mksduboot_v210 (生成从SD卡启动的代码)
common\main.c (加升级的按键代码)

Uboot 的重启命令是reset

32:sd卡启动
** Unable to read "utscript_sd" from mmc 0:1 **
33:
utboard.h

35:Z:\android_froyo0\packages\apps\Network3gMonitor\Network3gMonitor\res\values

36:做logo
u-boot/drivers/
37:Sourceinsight 的技巧
ctrl+? 标示是整个工程搜

37:结构体指针的使用
你不懂的还很多,要好好学习啊,下面是我对你程序的修正,已经能通过编译运行了,结果也正确了,你仔细好好看看吧!
#include<stdio.h>
#include<malloc.h>

struct Train_Time /*定义时间的类型的结构体*/
{
int hour;
int minute;
int second;
struct Train_Time *next;
};

struct Train_List //火车车次基本信息表结构体
{

char Train_Number[5];/*车次*/
char Start_Stop[10];/*始发站*/
char End_Stop[10];/*终点站*/
struct Train_Time *StartTime;/*开车时间*/
struct Train_Time *EndTime;/*到站时间*/
float Train_Mileage;/*公里*/
int SumTicket;//车票数量
struct Train_List *next;
};

 

void printall(struct Train_List* Train_List1)
{
 printf("\n车次\t始发站\t终点站\t开车时间\t到站时间\t总公里\t车票数量");
 printf("\n%s\t%s\t%s\t%d:%d:%d:\t%d:%d:%d:\t%f\t%d\n",Train_List1->Train_Number,
 Train_List1->Start_Stop,Train_List1->End_Stop,Train_List1->StartTime->hour,
 Train_List1->StartTime->minute,Train_List1->StartTime->second,Train_List1->EndTime->hour,
 Train_List1->EndTime->minute,Train_List1->EndTime->second,Train_List1->Train_Mileage,Train_List1->SumTicket);

}

void main()
{
 struct Train_List *Train_List1;
 
 Train_List1=(struct Train_List*)malloc(sizeof(struct Train_List));
 Train_List1->StartTime=(struct Train_Time*)malloc(sizeof(struct Train_Time));
 Train_List1->EndTime=(struct Train_Time*)malloc(sizeof(struct Train_Time));
 printf("输入吧:");
 scanf("%s%s%s%d%d%d%d%d%d%f%d",Train_List1->Train_Number,
 Train_List1->Start_Stop,Train_List1->End_Stop,&Train_List1->StartTime->hour,
 &Train_List1->StartTime->minute,&Train_List1->StartTime->second,&Train_List1->EndTime->hour,
 &Train_List1->EndTime->minute,&Train_List1->EndTime->second,&Train_List1->Train_Mileage,&Train_List1->SumTicket);
 printf("ok");
 printall(Train_List1) ;
}

39:清空uBOOT指令
mmc write 0 20000000 0 800
40:java 中 this super final extends的用法解析
http://developer.51cto.com/art/200701/37490_2.htm
41:Uboot 用指令升级的命令
//key "home"  -- EINT29 GPH3(5)

40:3G 模块的添加流程详解
1:在/system/etc # cat usb-modem-dialer的文件里面添加对该模块的支持
2:/system/etc # cat usb-modem-dialer  在该文件里面是3G模块的工作流程
#!/system/busybox/bin/sh
DEVICE=$1
NUMBER=$2
USER=$3
PASSWD=$4
APN=$5
        echo "i am usb modem dialer"
        echo $1
        echo "\"$USER\" * \"$PASSWD\"">/system/etc/ppp/pap-secrets
        echo "\"$USER\" * \"$PASSWD\"">/system/etc/ppp/chap-secrets
 
        mkdir /tmp
 
        case "$DEVICE" in
serial_0|serial_1|serial_2|serial_3)
        echo $DEVICE
        /system/busybox/bin/cat /system/etc/ppp/chat_$DEVICE.conf >  /system/etc/ppp/chat.conf
        /system/busybox/bin/sed s/TELENUMBER/$NUMBER/ /system/etc/ppp/chat_$DEVICE.conf > /system/etc/ppp/chat_tmp
        /system/busybox/bin/sed s/APN/$APN/ /system/etc/ppp/chat_tmp > /system/etc/ppp/chat.conf
 
        /system/busybox/bin/sed s/USER/$USER/ /system/etc/ppp/$DEVICE.dia >/system/etc/ppp/dialer_tmp
        /system/busybox/bin/sed s/PASSWD/$PASSWD/ /system/etc/ppp/dialer_tmp >/system/etc/ppp/dialer
        chmod 777 /system/etc/ppp/dialer
        /system/etc/ppp/dialer
    ;;
 
RELEASE)
 
    ;;
esac
3:中兴的AC2736的拨号脚本(CDMA2000 HUAWEI EC122 | ZTE AC2736 )
   也就是/system/etc/ppp/ cat chat_serial_2.conf 文件
TIMEOUT         40
ABORT           "DELAYED"
ABORT           "BUSY"
ABORT           "ERROR"
ABORT           "NO DIALTONE"
ABORT           "NO CARRIER"
TIMEOUT         40
''              ATZ
OK              ATDTELENUMBER
CONNECT 
4:uboot 如何传输参数
1:pri
2:setenv boardargs "lcd=jw08009 camera=hi704 camrev=y lun=2 umsvendor=coby umsproduct= ts=8024 mod=5 man=coby sound=rt5621"
setenv boardargs "sound=rt5621"
setenv wang "dnw 20008000;bootm 20008000"
3:save
 

调试指令
dmesg -n 8

//编译2.3系统的指令
wangyulu@urbetter-linux3:~/2.3-root-android-samsung-dev$ . ./build/envsetup.sh
wangyulu@urbetter-linux3:~/2.3-root-android-samsung-dev$ . ./jdk16.sh
wangyulu@urbetter-linux3:~/2.3-root-android-samsung-dev$ lunch (选5)

中星微的编译步骤
1:在Kernel的MAKEFILE里面改变编译器
ARCH            ?= arm
CROSS_COMPILE   ?= /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
2:编译步骤

进入 kernel目录
make vc0882_vortex_mmcroot_defconfig
make uImage
make modules

3:杀死logcat的方法是:
1:在adb里面输入 adb.exe shell
2:在在终端里面输入killall logcat:
4:用adb传数据的到开发板

   adb push Z:\2.3-root-android-samsung-dev\out\target\product\smdkv210\system\lib\libaudio.so system/lib

修改拍照的相片的存储路径
1:进入kernel 打开
vi /etc/vold.fstab
2:在里面改写
  (存储在sd卡里面):dev_mount sdcard /mnt/sdcard 1 /devices/platform/v8-sdio.2/mmc_host/mmc0 
   改: dev_mount sdcard /mnt/sdcard 1 /devices/platform/v8-sdio.0/mmc_host/mmc1
中心为
./build.sh  、、编译内核的指令
在文件里面搜说字符串
find frameworks/ |xargs grep "KEY_VIDEO_FRAME_FORMAT"

 

 

抱歉!评论已关闭.