mx's bloghttps://x-wei.github.io/2013-11-08T00:00:00+01:00ADT环境搭建2013-11-08T00:00:00+01:002013-11-08T00:00:00+01:00mxtag:x-wei.github.io,2013-11-08:tech/ADT环境搭建.html<p>这学期INF422, 第一节课就是android安装调试环境的搭建(居然要一节课?), 这里总结一下.</p>
<h3 id="di-yi-bu-xia-zai-bundle">第一步: 下载bundle</h3>
<p>下载<a href="http://developer.android.com/sdk/index.html">ADT-Bundle</a>
解压缩以后啥都有了, 包含一个eclipse...</p>
<h3 id="di-er-bu-xiu-gai-huan-jing-bian-liang">第二步: 修改环境变量</h3>
<p>linux下的环境变量放在<code>.bashrc文件</code>, 加入下面一行: </p>
<p><code>PATH=$PATH:<dir>/sdk/tools/:<dir>/sdk/platform-tools/:</code></p>
<p>其中<code><dir></code>是放置SDK的目录地址.</p>
<p>测试一下好不好使, 在终端中输入<code>android</code>, 看是否会弹出SDK manager</p>
<h3 id="di-san-bu-xin-jian-yi-ge-virtual-machine">第三步: 新建一个virtual machine</h3>
<p>可以用eclipse的AVDmanager做, 也可以用命令行做. </p>
<p>输入:</p>
<p><code>android list targets</code></p>
<p>找到想要的target(我们要4.1.2)的那个id(一个数字), 然后, 运行命令: </p>
<p><code>android create avd -t <target_id> -n inf422 --abi armeabi-v7a</code></p>
<p>这样就生成了一个名叫"inf422"的虚拟机</p>
<h3 id="di-si-bu-guan-lian-dao-zi-ding-yi-de-jing-xiang">第四步: 关联到自定义的镜像</h3>
<p>inf422这门课提供了一个修改过的android镜像, 在<a href="http://www.enseignement.polytechnique.fr/informatique/INF422/ramdisk.img">这里</a>和<a href="http://www.enseignement.polytechnique.fr/informatique/INF422/kernel-qemu">这里</a>下载, 下载到本地的目录上了以后, 运行: </p>
<p><code>emulator @inf422 -ramdisk <IMAGES>/ramdisk.img -kernel <IMAGES>/kernel-qemu</code></p>
<p>其中<images>是刚刚存放那俩镜像文件的目录. </images></p>
<h3 id="di-wu-bu-telnetlian-jie-xu-ni-ji">第五步: telnet连接虚拟机</h3>
<p>课程里用的emulator使用telnet服务器, 且是在虚拟机的23端口接收信息. 先重定向一下端口, 定向到localhost的4444端口:</p>
<p><code>adb forward tcp:4444 tcp:23</code></p>
<p>这样, 以后要登录模拟器emulator的时候, 只需要输入: </p>
<p><code>telnet localhost 4444</code></p>
<p>(用户名是root, 不要密码)</p>
<h2 id="di-liu-bu-yong-liang-chong-fang-fa-jin-ru-xu-ni-ji_1">第六步: 用两种方法进入虚拟机</h2>
<p>刚才的4444端口是进入emulator用的, 而打开虚拟机的时候, 窗口标题是一个数字再加虚拟机的名字(我的显示的是"5554:inf422"), 这个5554是另外一个端口, 用于用shell方式登陆, 登陆后可以使用shell命令查看文件或者进行一些操作. </p>
<p>而与之对应, 从4444端口登陆, 则是进入emulator的控制console</p>
<p><em>两种方法和AVD交流:</em></p>
<ol>
<li>console: linux命令, 命令行</li>
<li>emulator: 发送命令产生一些事件(电话, 短信, GPS等)</li>
</ol>
<p>第二种方式可以模拟一些手机事件, 很有用... 使用help命令查看emulator怎么使用</p>