• 1. Android环境配置及工具使用 2012.05.10
  • 2. 环境配置本部分内容提要: -- 环境需求 --安装编译包 --安装JDK --安装Android SDK -- Eclipse配置 --远程连接Ubuntu -- SSH远程连接
  • 3. 环境需求1.1 Operating System       1.1.1 Linux Ubuntu10.04(LTS, long term support version) 64bit       1.1.2 Windows / Mac are NOT supported AS  1.2 Memory & Disk Space       1.2.1 2+ G physical memory             a. Avoid “JVM run out of memory”             b. Speed up build performance       1.2.2 10+G or more disk space is needed (to build Android tree)   1.3 Make Utility      1.3.1 GNU Make v3.81 or above  1.4 Perl, Python Interpreter      1.4.1 Perl 5.8.X      1.4.2 Python 2.6.X C  1.5 Compilation Tools      1.5.1 arm-eabi-4.4.0 (can get from released SW package, prebuilt/linux-            x86/toolchain/arm-eabi-4.4.0)       1.5.2 GCC 4.1.2 n       1.5.3 JDK1.6   1.6 Others      1.6.1 wine 1.1 or above
  • 4. 安装编译包 (1)1. 登陆Ubuntu并联网 2. 打开终端模拟器(应用程序-附件-终端) 3. 更新apt资源库信息 $ sudo su # apt-get update 4. 安装软件包 # apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-4.4 g++-4.4 g++-4.4-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev wine mingw32
  • 5. 安装编译包(2)5. 变更默认的Shell为bash(可以忽略) # rm /bin/sh  # ln -s /bin/bash /bin/sh  6. 确认gcc编译器的版本 # cd /usr/bin  #rm gcc g++   #ln -s gcc-4.4 gcc  #ln -s  g++-4.4 g++
  • 6. 安装JDK1. 下载J2SE Ubuntu 64位版本 下载链接:点击下载,服务器上有 2. 安装JDK,假设安装在 /home/cenon/tools/下 # chmod a+x ./jdk-6u23-linux-x64.bin # ./jdk-6u23-linux-x64.bin 3. 配置JDK环境变量 JAVA_HOME = /home/cenon/tools/jdk1.6.0_23 在path中加入:%JAVA_HOME%\bin 4. 验证是否安装成功 $ javac –version javac 1.6.0_23
  • 7. 安装Android SDK (1)1. 下载Android SDK Linux版本 下载链接:点击下载,服务器上有 2. 解压SDK,假设解压在 /home/cenon/tools/下 3. 配置SDK环境变量 ANDROID_SDK = /home/cenon/tools/android-sdk-linux 在path中加入: %ANDROID_SDK%\tools 和 %ANDROID_SDK%\platform-tools
  • 8. 安装Android SDK (2)4. 验证是否安装成功并下载软件包android-10 $ android 5. 下载后即可使用模拟器
  • 9. Eclipse配置 (1)1. 下载eclipse软件 下载链接:http://www.eclipse.org/downloads/ 或者可以在线安装 $sudo apt-get install eclipse 2.修改eclipse缓存设置 (防止内存溢出) 把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:    -Xms128m    -Xmx512m -XX:MaxPermSize=256m
  • 10. Eclipse配置 (2)3.把android-formatting.xml和android.importorder导入eclipse (规范代码格式) android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下 android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的顺序和结构。 在window->preferences->java->Codestyle->Formatter中导入android-formatting.xml 在window->preferences->java->Codestyle->OrganizeImports中导入android.importorder 4.把eclipse工程配置文件复制到android源码根目录下 cp development/ide/eclipse/.classpath ./ chmod u+w .classpath # Make the copy writable
  • 11. Eclipse下导入源码1. 新建Java Project项目并指定位置为MT6513源码位置 需要取消Use Default location并指定源码的位置,点击Next,需要等待一段时间即可部署完成。
  • 12. 关于设置环境变量1. 编辑自己Home目录下的.bashrc $ cd ~/ $ gedit ~/bashrc 在文件末尾加上以下设置 : JAVA_HOME = /home/cenon/tools/jdk1.6.0_23 ANDROID_SDK = /home/cenon/tools/android-sdk-linux ANDROID_ARM_EABI = /home/cenon/tools/arm-eabi-4.4.3 export JAVA_HOME export ANDROID_SDK export ANDROID_ARM_EABI PATH=$JAVA_HOME/bin:$ANDROID_ARM_EABI/bin:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$PATH export PATH (arm-eabi-4.4.3可以在项目代码的prebuild/linux-x86/toolchain/arm-eabi-4.4.3找到并复制到/home/cenon/tools/下面) 2. 也可以在项目根目录修改mbldenv.sh文件
  • 13. 远程连接Ubuntu1. 安装并验证xrdp 0.5 #apt-get install xrdp # dpkg -l | grep xrdp  ii  xrdp  0.5.0~20100303cvs-4   Remote Desktop Protocol (RDP) server 2. 在Windows下打开远程连接(Windows+R -> mstsc) 3. 输入登陆信息即可登陆
  • 14. SSH远程连接 (1)1. 首先需要在Ubuntu端安装ssh服务 $ sudo apt-get install ssh 2. Windows端安装SSH Secure Shell Client 3. 使用快速连接远程连接Ubuntu。
  • 15. SSH远程连接 (2)4. 输入Ubuntu端该用户的密码 5. 连接上后就可以在ssh终端的shell里面操作了 6. 远程传输文件,点选New File Transfer Window可以打开
  • 16. SSH远程连接 (3)7. 在文件传输窗口通过Download和Upload在不同主机间传输数据。
  • 17. 本部分内容提要: -- DDMS调试 --串口工具SecureCRT -- Eclipse Debug断点调试 -- adb调试 -- Hierarchyviewer工具 调试篇
  • 18. DDMS (1)1. 确保android-sdk-linux安装好并且环境变量已经配置 2. 打开终端模拟器并启动 $ ddms
  • 19. DDMS (2)3. 通过这个工具可以截屏,浏览手机文件等。 4. 设定过滤Tag的条件
  • 20. 串口工具SecureCRT (1)1. 插入串口线,在计算机设备管理里查看占用的COM口 2. 安装并打开SecureCRT,选择快速连接,协议选择:Serial,端口选择刚才查看到的:COM6,波特率选择:921600。
  • 21. 串口工具SecureCRT (2)3. 点选确认即可查看log信息 4. 可以通过菜单:文件—会话日志 将打印的信息同时输出到文件。
  • 22. Eclipse Debug断点调试 (1)1. 打开透视图:DDMS 在eclipse的右上角 2. 选择需要调试的程序 在上面单机,该线程将被标上8700的端口 3. 切换至Java透视图, 对该项目选择Debug Configurations。
  • 23. Eclipse Debug断点调试 (2)4. 配置并进入调试
  • 24. Eclipse Debug断点调试 (3)6. 会提示有错误,这个不用去关心的 7. 调试需要在源码上设置断点,双击即可设置
  • 25. adb调试1. 打印输出所以的调试信息: $ adb logcat –v threadtime > log.txt 2. 只打印出内核调试信息 $ adb shell cat /proc/kmsg > kernel.txt 3. 通过ddms打印信息
  • 26. SVN版本控制本部分内容提要: -- Ubuntu安装SVN服务 -- 可视化SVN工具
  • 27. SVN的安装及使用1. 安装svn服务 $ sudo apt-get install subversion 2. 基本命令举例 $ cd /home/cenon/MT6513/ $ svn co https://svn.rs.cenon.com.cn/svn/MTxxxx/trunk ./ //检出版本 $ svn update //更新版本 $ svn export https://svn.rs.cenon.com.cn/svn/MTx/trunk ./ //导出版本 $ svn diff test.java // 比较 $ svn diff –r 100:101 test.java // 比较两个版本 $ svn log test.java // 查看文件的历史 $ svn info test.java // 查看文件信息 $ svn revert test.java // 恢复对test.java的修改 $ svn revert [--recursive] ./dir // 恢复整个dir目录的修改 $ svn cat http://192.168.0.3/test/readme.txt // 不检出而查看文件内容 $ svn resolved //解决冲突 $ svn status // 文件状态
  • 28. 可视化SVN工具 (1)1. 打开Ubuntu软件中心(应用程序Ubuntu软件中心),搜索svn,选择RapidSVN或SVN Workbench并安装。
  • 29. 可视化SVN工具 (2)1. RapidSVN (推荐)
  • 30. 可视化SVN工具 (3)1. SVN Workbench
  • 31. 虚拟机本部分内容提要: -- Windows下安装Ubuntu虚拟机 -- Ubuntu下安装Windows虚拟机
  • 32. Windows下安装Ubuntu虚拟机 (1)1. 安装Vmware虚拟机,并运行 2. 通过菜单:文件打开,打开已经解压出来的虚拟机文件 Ubuntu 64-bit.vmx 3. 开启Ubuntu镜像 4. 设置文件夹共享 通过菜单:VMSettings 选择Options标签,选中Shared Folders设置并配置
  • 33. Windows下安装Ubuntu虚拟机 (2)5. Ubuntu下访问刚才设置的共享文件夹 共享的文件被挂载在:/mnt/hgfs/ 6. 手机或U盘连接虚拟机,图标会有变化,将鼠标放上去就会显示出可以在虚拟机上使用的USB设备。 如果没有相关USB设备显示出来,检查服务是否开启。
  • 34. 编译源码本部分内容提要: --编译指令
  • 35. 编译指令 (1)1. 对整个项目new或remake $ ./makeMtk cenon13_6626_gb new $ ./makeMtk cenon13_6626_gb r dr $ ./makeMtk –t cenon13_6626_gb r k ub bootimage 2. 仅编译recovery.img $ ./makeMtk cenon13_6626_gb recoveryimage 3. 编译应用某一指定模块 首先需要初始化变量,如mmm命令等。在代码根目录: $ source ./build/envsetup.sh 以修改了packages/app/Settings/这个包里的内容为例 $ TARGET_PRODUCT=a601 mmm ./packages/app/Settings/ 即可编译出Settings.apk文件,在 out/target/product/cenon13_6626_gb/system/app/Settings.apk 将其push到手机即可 $ adb push ./Settings.apk /system/app/Settings.apk
  • 36. 编译指令 (2)4. 编译framework模块 $ TARGET_PRODUCT=cenon13_6626_gb m framework 或 $ TARGET_PRODUCT=a601 mmm ./frameworks/base/core/res 编译出framework.jar $ TARGET_PRODUCT=a601 m android.policy 编译得到 android.policy.jar 将其push到手机后,重启手机生效 $ adb push ./framework.jar /system/framework/framework.jar $ adb reboot 5. 在push之前需要手动挂载 $ adb remount