<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Gang613's Blog]]></title>
  <link href="http://gang613.github.io/atom.xml" rel="self"/>
  <link href="http://gang613.github.io/"/>
  <updated>2014-10-28T09:16:07+08:00</updated>
  <id>http://gang613.github.io/</id>
  <author>
    <name><![CDATA[gang613]]></name>
    <email><![CDATA[gang613@gmail.com]]></email>
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[在Android开发中通过adb连接Android X86进行调试]]></title>
    <link href="http://gang613.github.io/blog/2014/10/23/adt-connect-to-android-x86/"/>
    <updated>2014-10-23T12:01:31+08:00</updated>
    <id>http://gang613.github.io/blog/2014/10/23/adt-connect-to-android-x86</id>
    <content type="html"><![CDATA[<h2>1. 简介</h2>

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

<h2>2. 系统环境</h2>

<ul>
<li>客户端 Ubuntu 14.04 LTS</li>
<li>虚拟机 VirtualBox 4.3.18</li>
<li>Android X86  4.3</li>
<li>Eclipse 4.4 + ADT</li>
<li>JDK 1.7.0_67</li>
</ul>


<h2>3. 设置步骤</h2>

<h3>Step1. 安装VirtualBox</h3>

<p>1)将VirtualBox  repository 加入源：</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian saucy contrib" &gt;&gt; /etc/apt/sources.list'</span></code></pre></td></tr></table></div></figure>


<p>2)在Terminal中输入以下命令：</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
</span><span class='line'>sudo apt-get update && sudo apt-get install virtualbox-4.3-18</span></code></pre></td></tr></table></div></figure>


<p>3)另外可下载Extension Package</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>wget http://download.virtualbox.org/virtualbox/4.3.18/Oracle_VM_VirtualBox_Extension_Pack-4.3.18-96516.vbox-extpack</span></code></pre></td></tr></table></div></figure>


<h3>Step2. 安装Android X86</h3>

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

<h3>Step3. Eclipse中ADT安装</h3>

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

<blockquote><p>注意：Url必须以Https开头；</p></blockquote>

<p>然后进行plugin安装；</p>

<h3>Step4. 配置ADB</h3>

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

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>VBoxManage modifyvm &lt;Your_VM_Name&gt; --natpf1 adb,tcp,*,5555,*,5555</span></code></pre></td></tr></table></div></figure>


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

<h3>Step5. 连接调试</h3>

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

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>$ netstat -a </span></code></pre></td></tr></table></div></figure>


<p>2) adb连接 Android X86</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>#连接Android X86
</span><span class='line'>$ adb connect localhost:5555
</span><span class='line'>
</span><span class='line'>#log输出
</span><span class='line'>$ adb logcat 
</span><span class='line'>
</span><span class='line'># 取消连接
</span><span class='line'>$ adb disconnect
</span></code></pre></td></tr></table></div></figure>


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

<h2>4. 总结</h2>

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

<h2>5. 参考文档</h2>

<p>[1]. <a href="http://www.n00bsonubuntu.net/content/install-virtualbox-ubuntu-14-04/">How To Install VirtualBox 4.3. On Ubuntu 14.04</a><br/>
[2]. <a href="http://www.android-x86.org/documents/virtualboxhowto">Android-x86 - Porting Android to x86 - Debug Howto</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[ 如何用GitHub Pages设置个人Blog ]]></title>
    <link href="http://gang613.github.io/blog/2014/10/18/my-first-blog/"/>
    <updated>2014-10-18T00:31:30+08:00</updated>
    <id>http://gang613.github.io/blog/2014/10/18/my-first-blog</id>
    <content type="html"><![CDATA[<p>本文介绍如何采用git+github+Octopress搭建blog，Github Pages采用 User &amp; Organization Pages 类型，本地环境为Ubuntu 14.04 LTS 。</p>

<h2>注册GitHub账户，设置Repository</h2>

<p>访问<a href="https://github.com">https://github.com</a> ,注册用户。
创建新的Repository，名称为&#8221;username.github.io&#8221;,将来个人blog地址为<a href="http://username.github.io">http://username.github.io</a> ，其中username是注册用户或组织名。</p>

<h2>客户端git安装</h2>

<p>安装git，两种方法。<br/>
方法一：采用apt</p>

<pre><code>$ sudo apt-get install git-core
</code></pre>

<p>方法二：采用源码安装</p>

<pre><code>$ 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
</code></pre>

<h2>客户端git设置</h2>

<p>设置git config</p>

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

#查看设置
$ git config --list
</code></pre>

<p>设置ssh keys</p>

<pre><code>//备份
$ 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):&lt;回车就好&gt;
#输入加密串
Enter passphrase (empty for no passphrase):&lt;输入加密串&gt;
Enter same passphrase again:&lt;再次输入加密串&gt;
</code></pre>

<p>添加ssh key到GitHub</p>

<pre><code>$ gedit ~/.ssh/id_rsa.pub
</code></pre>

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

<p>测试</p>

<pre><code>$ 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.
</code></pre>

<h2>安装Ruby环境</h2>

<p>创建脚本install-ruby.sh</p>

<pre><code>$ vi install-ruby.sh
</code></pre>

<p>输入以下内容</p>

<pre><code>#!/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
</code></pre>

<p>保存退出后，执行脚本</p>

<pre><code>$ sudo ./install-ruby.sh
</code></pre>

<h2>安装rbenv</h2>

<p>rbenv 是ruby版本管理工具，类似于RVM，安装Octopress时需要使用。先运行以下脚本：</p>

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

<p>修改bashrc文件</p>

<pre><code>$ vi ~/.bashrc
</code></pre>

<p>增加以下内容：</p>

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

<p>使bashrc生效</p>

<pre><code>$ source ~/.bashrc
</code></pre>

<h2>更新gem源</h2>

<p>gem默认源为 <a href="https://rubygems.org">https://rubygems.org</a>  ,比较慢，先更新为淘宝源
查看当前有的源</p>

<pre><code>$ gem sources -l
</code></pre>

<p>移除<a href="https://rubygems.org">https://rubygems.org</a> 源</p>

<pre><code>$ gem sources --remove https://rubygems.org/
</code></pre>

<p>增加<a href="http://ruby.taobao.org">http://ruby.taobao.org</a></p>

<pre><code>$ gem sources -a http://ruby.taobao.org/
</code></pre>

<p>添加完用gem sources -l再查看一下，请确保只有<a href="http://ruby.taobao.org/">http://ruby.taobao.org/</a></p>

<h2>安装Octopress</h2>

<p>先clone源码</p>

<pre><code>$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress  
</code></pre>

<p>安装依赖</p>

<pre><code>$ sudo gem install bundler
$ rbenv rehash    # If you use rbenv, rehash to be able to run the bundle command
$ bundle install
</code></pre>

<p>安装默认的Octopress 主题</p>

<pre><code>$ rake install
</code></pre>

<h2>安装NodeJS</h2>

<p>如果不安装nodejs，可能在后续rake preview时出现&#8221;Could not find a JavaScript runtime&#8221;错误。</p>

<pre><code>$ sudo apt-get install nodejs
</code></pre>

<h2>Octopress配置</h2>

<p>Octopress配置主要修改<em>config.yml文件，关于</em>config.yml文件中的更多内容，请看这里的内容：<a href="http://octopress.org/docs/configuring/">Configuring Octopress</a>  <br/>
创建新blog</p>

<pre><code>$ rake new_post["title"]
</code></pre>

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

<p>生成</p>

<pre><code>$ rake generate
</code></pre>

<p>预览，可以访问 <a href="http://localhost:4000">http://localhost:4000</a> 进行预览</p>

<pre><code>$ rake preview   
</code></pre>

<p>配置octopress与github的连接</p>

<pre><code>$ 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
</code></pre>

<p>发布到github</p>

<pre><code>$ rake deploy
</code></pre>

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

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

<pre><code>$ git add .
$ git commit -am "Some comment here." 
$ git push origin source
</code></pre>

<h2>Reference</h2>

<p>[1]. <a href="https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-12-04">How To Install Git on Ubuntu 12.04</a><br/>
[2]. <a href="http://beiyuu.com/github-pages/">使用Github Pages建独立博客</a><br/>
[3]. <a href="https://gist.github.com/bartimaeus/2845824">Install Ruby 1.9.3-p286 on Ubuntu 12.04 LTS</a><br/>
[4]. <a href="https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-12-04-lts-with-rbenv--2">How To Install Ruby On Rails on Ubuntu 12.04 LTS with rbenv</a><br/>
[5]. <a href="http://42.96.192.22/?cat=478">更换Gem源</a><br/>
[6]. <a href="http://sonnewilling.com/blog/2013/11/14/shi-yong-octopressda-jian-ge-ren-bo-ke/">使用Octopress搭建个人博客</a><br/>
[7]. <a href="http://www.yangzhiping.com/tech/octopress.html">Ruby开源项目介绍(1)：octopress——像黑客一样写博客</a></p>
]]></content>
  </entry>
  
</feed>
