<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>右舷 &#187; uninstall</title>
	<atom:link href="http://www.laihj.net/tag/uninstall/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.laihj.net</link>
	<description>list(linux,emacs,旅行,读书,andriod,MacOS,iOS)</description>
	<lastBuildDate>Tue, 27 Dec 2011 12:54:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Android]用shell卸载安装在模拟器上的应用</title>
		<link>http://www.laihj.net/2010/05/uninstall-by-shell/</link>
		<comments>http://www.laihj.net/2010/05/uninstall-by-shell/#comments</comments>
		<pubDate>Wed, 26 May 2010 12:07:43 +0000</pubDate>
		<dc:creator>laihj</dc:creator>
				<category><![CDATA[善其事]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[uninstall]]></category>

		<guid isPermaLink="false">http://www.laihj.net/?p=650251</guid>
		<description><![CDATA[
在使用android模拟器的时候，将编好的apk安装到模拟器上使用的是如下的命令:

?View Code BASH  adb install path/to/fuckGFW-debug.apk

那么很自然的，我们觉得，卸掉一个已安装的程序应该用的是

?View Code BASH  adb uninstall path/to/fuckGFW-debug.apk

然而到现在为止，这行命令在我的机器上还没有成功地达到它的目的过，于是当我需要重新安装一个应用时，使用的是傻不拉叽的方法——在模拟器中使用setting-application来卸载，必须承认，这实在是太傻了，卸载的次数越多，就觉得越傻。
所幸Android除了uninstall之后，还提供一种方法来卸载应用，那就是在模拟器中直接删除应用对应的apk，你需要做的是找出应用apk在模拟器中的位置，一般是data/app/yourapp.apk。然后直接使用shell来删除它。命令如下:

?View Code BASH  adb shell rm data/app/net.laihj.fuckGFW.apk

这样会比手工操作快42倍以上，手工麻烦不说，android的模拟器远不是勤勉的典范，至少在我的机器上它慢得可以。然而这不是最美妙的，最美妙的是你可以把三个工作合成一行命令。它们是：卸载，编译，安装。只需要在bash中用分号将三个命令分开即可。代码如下:

?View Code BASH  adb shell rm data/app/net.laihj.fuckGFW.apk;ant debug;adb install path/to/fuckGFW-debug.apk

当你修改过代码之后，别再到模拟器中手工卸载应用了，直接运行这一行，然后看修改有否生效吧。
当然，高智商的程序员认为这三部都可以写到build.xml中，然后用ant来控制。没错，可是直接用bash来处理，学习成本更低不是?
Related Posts程序员何苦为难程序员(1)
[Android] anTimeLog，记录你的时间(10)
Recent Comments]]></description>
			<content:encoded><![CDATA[</p>
<p>在使用android模拟器的时候，将编好的apk安装到模拟器上使用的是如下的命令:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p650251code5'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6502515"><td class="code" id="p650251code5"><pre class="bash" style="font-family:monospace;">  adb <span style="color: #c20cb9; font-weight: bold;">install</span> path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>fuckGFW-debug.apk</pre></td></tr></table></div>

<p>那么很自然的，我们觉得，卸掉一个已安装的程序应该用的是</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p650251code6'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6502516"><td class="code" id="p650251code6"><pre class="bash" style="font-family:monospace;">  adb uninstall path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>fuckGFW-debug.apk</pre></td></tr></table></div>

<p>然而到现在为止，这行命令在我的机器上还没有成功地达到它的目的过，于是当我需要重新安装一个应用时，使用的是傻不拉叽的方法——在模拟器中使用setting-application来卸载，必须承认，这实在是太傻了，卸载的次数越多，就觉得越傻。</p>
<p>所幸Android除了uninstall之后，还提供一种方法来卸载应用，那就是在模拟器中直接删除应用对应的apk，你需要做的是找出应用apk在模拟器中的位置，一般是data/app/yourapp.apk。然后直接使用shell来删除它。命令如下:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p650251code7'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6502517"><td class="code" id="p650251code7"><pre class="bash" style="font-family:monospace;">  adb shell <span style="color: #c20cb9; font-weight: bold;">rm</span> data<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>net.laihj.fuckGFW.apk</pre></td></tr></table></div>

<p>这样会比手工操作快42倍以上，手工麻烦不说，android的模拟器远不是勤勉的典范，至少在我的机器上它慢得可以。然而这不是最美妙的，最美妙的是你可以把三个工作合成一行命令。它们是：卸载，编译，安装。只需要在bash中用分号将三个命令分开即可。代码如下:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p650251code8'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6502518"><td class="code" id="p650251code8"><pre class="bash" style="font-family:monospace;">  adb shell <span style="color: #c20cb9; font-weight: bold;">rm</span> data<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>net.laihj.fuckGFW.apk;ant debug;adb <span style="color: #c20cb9; font-weight: bold;">install</span> path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>fuckGFW-debug.apk</pre></td></tr></table></div>

<p>当你修改过代码之后，别再到模拟器中手工卸载应用了，直接运行这一行，然后看修改有否生效吧。</p>
<p>当然，高智商的程序员认为这三部都可以写到build.xml中，然后用ant来控制。没错，可是直接用bash来处理，学习成本更低不是?</p>
<h3>Related Posts</h3><ul><li><a href="http://www.laihj.net/2011/01/%e7%a8%8b%e5%ba%8f%e5%91%98%e4%bd%95%e8%8b%a6%e4%b8%ba%e9%9a%be%e7%a8%8b%e5%ba%8f%e5%91%98/" title="程序员何苦为难程序员 2011.01.14">程序员何苦为难程序员</a>(1)</li>
<li><a href="http://www.laihj.net/2010/06/android-antimelog%ef%bc%8c%e8%ae%b0%e5%bd%95%e4%bd%a0%e7%9a%84%e6%97%b6%e9%97%b4/" title="[Android] anTimeLog，记录你的时间 2010.06.21">[Android] anTimeLog，记录你的时间</a>(10)</li>
</ul><h3>Recent Comments</h3><ul></ul>]]></content:encoded>
			<wfw:commentRss>http://www.laihj.net/2010/05/uninstall-by-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

