在Android开发中通过adb连接Android X86进行调试

1. 简介

通常进行Android应用开发需要通过AVD(Android Virtual Device)进行调试,由于AVD是模拟Android设备的运行环境,在启动加载过程中运行速度非常慢,本文介绍另一种方式,通过ADB(Android Debug Bridge)连接Android X86 环境,以取代通过AVD进行应用调试。

2. 系统环境

  • 客户端 Ubuntu 14.04 LTS
  • 虚拟机 VirtualBox 4.3.18
  • Android X86 4.3
  • Eclipse 4.4 + ADT
  • JDK 1.7.0_67

3. 设置步骤

Step1. 安装VirtualBox

1)将VirtualBox repository 加入源:

1
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian saucy contrib" >> /etc/apt/sources.list'

2)在Terminal中输入以下命令:

1
2
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt-get update && sudo apt-get install virtualbox-4.3-18

3)另外可下载Extension Package

1
wget http://download.virtualbox.org/virtualbox/4.3.18/Oracle_VM_VirtualBox_Extension_Pack-4.3.18-96516.vbox-extpack

Step2. 安装Android X86

Android x86 即运行于 x86 PC上的Android操作系统,目前已经支持大部分安卓程序。 安装文件可到 http://www.android-x86.org/download 下载,目前已有4.4版本下载。 在VirtualBox中安装Android X86不再细述。

Step3. Eclipse中ADT安装

在Eclipse菜单中选择 Help > Install New Software,点击Add,输入以下Url: https://dl-ssl.google.com/android/eclipse/

注意:Url必须以Https开头;

然后进行plugin安装;

Step4. 配置ADB

在Android SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,借助该工具,我们可以管理设备或手机模拟器的状态 。 在Android X86虚拟机装过程中,我们将网址设置成NAT方式,因此需要配置虚拟机参数,进行数据转发,执行以下命令:

1
VBoxManage modifyvm <Your_VM_Name> --natpf1 adb,tcp,*,5555,*,5555

以上命令也可以在VirtualBox虚拟机设置中进行配置,选择 网络->高级->端口转发 在弹出窗口中增加转发配置即可。

Step5. 连接调试

1)启动Ancroid X86 虚拟机,输入命令查看本地5555端口是否侦听

1
$ netstat -a 

2) adb连接 Android X86

1
2
3
4
5
6
7
8
#连接Android X86
$ adb connect localhost:5555

#log输出
$ adb logcat 

# 取消连接
$ adb disconnect

3) 在eclipse中运行应用,Run as->Android Application ,选择 Choose a running Android Device,确定后Eclipse将进行deploy,然后在Android X86中运行应用。

4. 总结

通过Android X86的确较大地提高了应用开发调试的效率,不过Android X86的版本跟进相对滞后于Android系统的推出,一些教新的版本还无法安装调试。

5. 参考文档

[1]. How To Install VirtualBox 4.3. On Ubuntu 14.04
[2]. Android-x86 - Porting Android to x86 - Debug Howto

如何用GitHub Pages设置个人Blog

本文介绍如何采用git+github+Octopress搭建blog,Github Pages采用 User & Organization Pages 类型,本地环境为Ubuntu 14.04 LTS 。

注册GitHub账户,设置Repository

访问https://github.com ,注册用户。 创建新的Repository,名称为”username.github.io”,将来个人blog地址为http://username.github.io ,其中username是注册用户或组织名。

客户端git安装

安装git,两种方法。
方法一:采用apt

$ sudo apt-get install git-core

方法二:采用源码安装

$ sudo apt-get update  
$ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev build-essential
$ wget https://code.google.com/p/git-core/downloads/detail?name=git-1.9.0.tar.gz
$ tar -zxf git-1.9.0.tar.gz
$ cd git-1.9.0
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

客户端git设置

设置git config

$ git config --global user.name '用户名'
$ git config --global user.email '邮件地址'

#查看设置
$ git config --list

设置ssh keys

//备份
$ cd ~/.ssh
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
#生成新的ssh key
$ ssh-keygen -t rsa -C gang613@126.com
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回车就好>
#输入加密串
Enter passphrase (empty for no passphrase):<输入加密串>
Enter same passphrase again:<再次输入加密串>

添加ssh key到GitHub

$ gedit ~/.ssh/id_rsa.pub

复制文件内容,在GitHub主页Settings页面,选择SSH Keys,将复制内容粘帖进去,点击Add Key即可。

测试

$ ssh -T git@github.com
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
#输入yes
Hi Username! You've successfully authenticated, but GitHub does not provide shell access.

安装Ruby环境

创建脚本install-ruby.sh

$ vi install-ruby.sh

输入以下内容

#!/usr/bin/env bash
apt-get -y update
apt-get -y install build-essential zlib1g-dev libssl-dev libxml2-dev libxslt-dev libreadline6-dev libyaml-dev
# apt-get -y install libmysqlclient-dev # uncomment for mysql support
cd /tmp
wget http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz
tar -xvzf ruby-2.1.3.tar.gz
cd ruby-2.1.3/
./configure --prefix=/usr/local
make
make install

保存退出后,执行脚本

$ sudo ./install-ruby.sh

安装rbenv

rbenv 是ruby版本管理工具,类似于RVM,安装Octopress时需要使用。先运行以下脚本:

$ sudo curl  https://raw.githubusercontent.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash

修改bashrc文件

$ vi ~/.bashrc

增加以下内容:

export RBENV_ROOT="${HOME}/.rbenv"
if [ -d "${RBENV_ROOT}" ]; then
    export PATH="${RBENV_ROOT}/bin:${PATH}"
    eval "$(rbenv init -)"
fi

使bashrc生效

$ source ~/.bashrc

更新gem源

gem默认源为 https://rubygems.org ,比较慢,先更新为淘宝源 查看当前有的源

$ gem sources -l

移除https://rubygems.org

$ gem sources --remove https://rubygems.org/

增加http://ruby.taobao.org

$ gem sources -a http://ruby.taobao.org/

添加完用gem sources -l再查看一下,请确保只有http://ruby.taobao.org/

安装Octopress

先clone源码

$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress  

安装依赖

$ sudo gem install bundler
$ rbenv rehash    # If you use rbenv, rehash to be able to run the bundle command
$ bundle install

安装默认的Octopress 主题

$ rake install

安装NodeJS

如果不安装nodejs,可能在后续rake preview时出现”Could not find a JavaScript runtime”错误。

$ sudo apt-get install nodejs

Octopress配置

Octopress配置主要修改config.yml文件,关于config.yml文件中的更多内容,请看这里的内容:Configuring Octopress
创建新blog

$ rake new_post["title"]

新文件创建于 source/_posts目录下。

生成

$ rake generate

预览,可以访问 http://localhost:4000 进行预览

$ rake preview   

配置octopress与github的连接

$ rake setup_github_pages
 Enter the read/write url for your repository
(For example, 'git@github.com:your_username/your_username.github.io.git)
       or 'https://github.com/your_username/your_username.github.io')
#本文输入如下:
https://github.com/gang613/gang613.github.io

发布到github

$ rake deploy

完成以上步骤后,静态blog页面会被push到对应repository的master分支下。博客站点已可访问。

另可把博客的源码放到source的分支上,以便在不同的电脑上编辑博客。

$ git add .
$ git commit -am "Some comment here." 
$ git push origin source

Reference

[1]. How To Install Git on Ubuntu 12.04
[2]. 使用Github Pages建独立博客
[3]. Install Ruby 1.9.3-p286 on Ubuntu 12.04 LTS
[4]. How To Install Ruby On Rails on Ubuntu 12.04 LTS with rbenv
[5]. 更换Gem源
[6]. 使用Octopress搭建个人博客
[7]. Ruby开源项目介绍(1):octopress——像黑客一样写博客