﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Enjoy yourself,and don't care about others' thinking!-随笔分类-Linux</title><link>http://www.blogjava.net/TiGERTiAN/category/43645.html</link><description>----TiGERTiAN</description><language>zh-cn</language><lastBuildDate>Sun, 23 Jan 2011 15:01:37 GMT</lastBuildDate><pubDate>Sun, 23 Jan 2011 15:01:37 GMT</pubDate><ttl>60</ttl><item><title>64位Ubuntu 10.10编译Android 2.3.1源代码</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/23/343404.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 23 Jan 2011 10:13:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/23/343404.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/343404.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/23/343404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/343404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/343404.html</trackback:ping><description><![CDATA[<meta charset="utf-8" />1、在虚拟机上安装64位Ubuntu 10.10，安装完成后进行系统升级。<br />
2、将源代码拷贝进去或者下载下来。<br />
3、sudo apt-get install&nbsp;git-core gnupg flex bison gperf build-essential zip curl sun-java6-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z1-dev<br />
4、所有都安装完成后进行编译。<br />
. build/envsetup.sh<br />
make -j4 PRODUCT-generic-eng
<br />
<br />
不要
<meta charset="utf-8" />choosecombo，否则会有很多莫名其妙的问题。
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/343404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-23 18:13 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/23/343404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android  开发环境建立-gcc 的问题</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343372.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sat, 22 Jan 2011 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343372.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/343372.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343372.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/343372.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/343372.html</trackback:ping><description><![CDATA[<meta charset="utf-8" /><span style="font-size: 14px; line-height: 22px; ">
<p>漫长的编译开始了，当然成功不会一蹴而就的，不出所料，错误出现了</p>
<p>ost C: adb &lt;= system/core/adb/fdevent.c</p>
<p>&nbsp;</p>
<p>host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)</p>
<p>&nbsp;</p>
<p>out/host/linux-x86/obj/STATIC_LIBRARIES/libzipfile_intermediates/libzipfile.a(centraldir.o): In function `memset':</p>
<p>&nbsp;</p>
<p>/usr/include/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters</p>
<p>&nbsp;</p>
<p>true</p>
<p>&nbsp;</p>
<p>Install: out/host/linux-x86/bin/adb</p>
<p>&nbsp;</p>
<p>host C++: atree &lt;= build/tools/atree/atree.cpp</p>
<p>&nbsp;</p>
<p>host C++: atree &lt;= build/tools/atree/files.cpp</p>
<p>&nbsp;</p>
<p>host C++: atree &lt;= build/tools/atree/fs.cpp</p>
<p>&nbsp;</p>
<p>host Executable: atree (out/host/linux-x86/obj/EXECUTABLES/atree_intermediates/atree)</p>
<p>&nbsp;</p>
<p>true</p>
<p>&nbsp;</p>
<p>Install: out/host/linux-x86/bin/atree</p>
<p>&nbsp;</p>
<p>host C++: bb2sym &lt;= development/emulator/qtools/bb2sym.cpp</p>
<p>&nbsp;</p>
<p>host C++: bb2sym &lt;= development/emulator/qtools/trace_reader.cpp</p>
<p>&nbsp;</p>
<p>development/emulator/qtools/trace_reader.cpp: In function &#8216;char* ExtractDexPathFromMmap(const char*)&#8217;:</p>
<p>&nbsp;</p>
<p>development/emulator/qtools/trace_reader.cpp:1012: error: invalid conversion from &#8216;const char*&#8217; to &#8216;char*&#8217;</p>
<p>&nbsp;</p>
<p>development/emulator/qtools/trace_reader.cpp:1015: error: invalid conversion from &#8216;const char*&#8217; to &#8216;char*&#8217;</p>
<p>&nbsp;</p>
<p>make: *** [out/host/linux-x86/obj/EXECUTABLES/bb2sym_intermediates/trace_reader.o] 错误 1</p>
<p>继续求教于，Google和百度吧，原来是gcc版本的问题</p>
<p>$gcc --version</p>
<p>&nbsp;</p>
<p>gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1</p>
<p>&nbsp;</p>
<p>Copyright (C) 2009 Free Software Foundation, Inc.</p>
<p>&nbsp;</p>
<p>This is free software; see the source for copying conditions.&nbsp; There is NO</p>
<p>&nbsp;</p>
<p>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>研究了一下发现问题主要出在Ubuntu10.4预置了gcc的版本是4.4，该版本编译时对语法要求比较高，因此无法编译源代码，解决方法就是将gcc-4.4降级成gcc-4.3</p>
<p>&nbsp;</p>
<p>具体操作：<br />
<meta charset="utf-8" />
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 6px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 6px; ">sudo apt-get remove gcc-4.4（卸载gcc-4.4）</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 6px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 6px; ">sudo apt-get remove g++-4.4（
<meta charset="utf-8" />卸载g++-4.4）</p>
sudo apt-get install gcc-4.3（安装gcc-4.3）</p>
<p>sudo apt-get install g++-4.3（安装g++-4.3）</p>
<p>&nbsp;</p>
<p>安装完4.3版本后，执行gcc --version后会发现版本仍然是4.4，因为gcc已经和4.4版本进行了链接，因此需要对gcc重新进行链接</p>
<p>&nbsp;</p>
<p>具体操作：sudo ln -f /usr/bin/gcc-4.3 gcc</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sudo ln -f/usr/bin/g++-4.3 g++</p>
<p>&nbsp;</p>
<p>这样就可以用4.3版本的gcc和g++将原来的覆盖掉，重新进入android源码目录执行make就可以正常编译～～</p>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/343372.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-22 13:19 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343372.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>64bit Linux下error: gnu/stubs-32.h: No such file or directory错误解决办法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343370.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sat, 22 Jan 2011 04:36:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343370.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/343370.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/343370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/343370.html</trackback:ping><description><![CDATA[<meta charset="utf-8" /><span style="color: #111111; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; ">
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.571em; margin-left: 0px; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">Q.</span>&nbsp;I'm getting the following error while compiling application under CentOS / RHEL / Fedora Linux 64 bit edition:</p>
<blockquote style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.786em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.571em; margin-left: 0.786em; border-left-width: 1px; border-left-style: solid; border-left-color: #dddddd; color: #666666; ">
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.571em; margin-left: 0px; "><strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h:</strong></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.571em; margin-left: 0px; ">No such file or directory</p>
</blockquote>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.571em; margin-left: 0px; ">How do I fix this error?<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #009900; ">A.&nbsp;</span>You need to install the glibc-devel package. It contains the object files necessary for developing programs which use the standard C libraries (which are used by nearly all programs). If you are developing programs which will use the standard C libraries, your system needs to have these standard object files available in order to create the executables.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.571em; margin-left: 0px; ">Install glibc-devel if you are going to develop programs which will use the standard C libraries.<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<code style="padding-top: 0.667em; padding-right: 0.917em; padding-bottom: 0.667em; padding-left: 0.917em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.833em; margin-left: 0px; line-height: 1.5em; background-image: none; background-attachment: scroll; background-origin: initial; background-clip: initial; background-color: #eeeeee; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; overflow-x: auto; overflow-y: auto; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; display: block; background-position: 0px 0px; background-repeat: repeat repeat; ">#&nbsp;<span  style="color: #000000; font-family: 微软雅黑; line-height: 20px; font-size: 14px; ">apt-get install g++-multilib</span></code>
<meta charset="utf-8" />
</p>
<div><br />
</div>
<p>&nbsp;</p>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/343370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-22 12:36 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[解决办法]development/simulator/app/DeviceManager.cpp:8: fatal error: wx/wxprec.h: No such file or directory (wx/setup.h: No such file or directory)</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343287.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Thu, 20 Jan 2011 15:19:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343287.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/343287.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343287.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/343287.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/343287.html</trackback:ping><description><![CDATA[<div>development/simulator/app/DeviceManager.cpp:8: fatal error: wx/wxprec.h: No such file or directory</div>
<div>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title></title>
<meta name="Generator" content="Cocoa HTML Writer" />
<meta name="CocoaVersion" content="1038.35" />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
</style>
<p class="p1">1.tigertian@ubuntu:~/Developer/android_src$ apt-file search wxprec.h</p>
<p class="p1">wx2.4-headers: /usr/include/wx/wxprec.h</p>
<p class="p1">wx2.6-headers: /usr/include/wx-2.6/wx/wxprec.h</p>
<p class="p1">wx2.8-headers: /usr/include/wx-2.8/wx/wxprec.h<br />
<br />
</p>
<p class="p1">2.sudo apt-get install wx2.4<br />
wx-config --cflags</p>
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/343287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-20 23:19 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343287.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编译Android 2.3源码</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343283.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Thu, 20 Jan 2011 14:24:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343283.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/343283.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/343283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/343283.html</trackback:ping><description><![CDATA[<meta charset="utf-8" /><span style="font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 20px; ">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">前几天下载了Android 2.3.1的源代码并在Ubuntu 10.04(32位)上编译通过。这篇文章简要记录了下载、编译的过程。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">关于搭建Android开发环境的文章已经有很多，本文只简要介绍一下，做为备忘。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; "><span class="bold"><strong>[ 编译前的准备 ]</strong></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">这一步安装获取源代码以及编译所需要的软件，使用如下命令：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; "> $ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev</pre>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">
<meta charset="utf-8" /><span style="color: #000000; font-family: Arial; line-height: 21px; white-space: normal; font-size: 14px; ">sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc</span> </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; "><font color="#333333">另外，参考别人编译Android 2.3的经验，安装了下列软件包：</font></p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">$ sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6 </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">
<meta charset="utf-8" /><span style="color: #000000; font-family: Arial, sans-serif, Helvetica, Tahoma; line-height: 18px; ">
</span></p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; "><span style="color: #ff6600; ">注意：32 bit&nbsp;</span>Required Packages 为</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; ">&nbsp;git-core gnupg&nbsp;sun-java5-jdk&nbsp;flex bison gperf&nbsp;<span style="color: #000000; ">build-essential zip&nbsp;curl&nbsp;<span style="color: #ff6600; "><span style="color: #000000; ">zlib1g-dev&nbsp;</span></span>&nbsp;<span style="color: #ff0000; ">libsdl-dev libesd0-dev&nbsp;libwxgtk2.6-dev&nbsp;libncurses5-dev&nbsp;</span></span><span style="color: #ff0000; ">&nbsp;</span></p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; "><span style="color: #ff6600; "><span style="color: #ff0000; "><strong style="font-weight: bold; ">而64 bit 下的</strong>&nbsp;&nbsp;<span style="color: #000000; ">Required Packages 为 git-core gnupg flex bison gperf build-essential zip curl sun-java6-jdk&nbsp;zlib1g-dev&nbsp;<span style="color: #ff0000; "><strong style="font-weight: bold; ">gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z1-dev<br />
<br />
</strong></span></span></span></span></p>
</span>虽然Android官方网站上讲不支持Java 6，不过我使用Java 6也可以编译通过，所以在这里<a class="ulink" href="http://easwy.com/" target="_top" style="color: #44a1d0; text-decoration: none; ">Easwy</a>安装的是Java 6。首先去掉<span class="emphasis"><em>/etc/apt/sources.list</em></span>中这两行的注释，使能Java 6源：
<p>&nbsp;</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">然后安装Java 6 JDK：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">$ sudo aptitude install sun-java6-jdk </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">接下来下载<span class="command"><strong>repo</strong></span>工具，这是Google提供的一个Python脚本，方便管理多个Git版本库：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo &gt;~/bin/repo
$ chmod a+x ~/bin/repo </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">记得把<span class="command"><strong>repo</strong></span>加到你的路径中，方便以后使用。编辑<span class="emphasis"><em>~/.bashrc</em></span>，加入下面一行：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">PATH=$PATH:~/bin
export PATH </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">然后用命令<span class="command"><strong>. ~/.bashrc</strong></span>，以后就可以直接使用<span class="command"><strong>repo</strong></span>命令了。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">接下来获取<a class="ulink" href="http://easwy.com/blog/archives/tag/android/" target="_top" style="color: #44a1d0; text-decoration: none; ">Android</a>&nbsp;2.3.1的源代码：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.1_r1
$ repo sync </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; "><span class="bold"><strong>[ 编译Android ]</strong></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">接下来开始编译：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">$ make -j`grep '^processor' /proc/cpuinfo | wc -l` </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">上面的命令中，<span class="emphasis"><em>-j</em></span>参数告诉make启动多个并行任务进行编译，在支持多核的CPU上能加快编译速度。如果你知道你CPU是几核的，可以直接把这部分替换成<span class="emphasis"><em>-j2</em></span>(双核)。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">我在编译的过程中遇到下面的错误：</p>
<div class="blockquote" style="color: #333333; "><blockquote class="blockquote" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; background-position: initial initial; background-repeat: initial initial; ">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">************************************************************</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">You are attempting to build on a 32-bit system.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">Only 64-bit build environments are supported beyond froyo/2.2.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">************************************************************</p>
</blockquote></div>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">这是因为在Makefile中检测了CPU的字长。我直接把<span class="emphasis"><em>build/core/main.mk</em></span>中下面的话注释掉：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; ">#ifneq (64,$(findstring 64,$(build_arch)))
#$(warning ************************************************************)
#$(warning You are attempting to build on a 32-bit system.)
#$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
#$(warning ************************************************************)
#$(error stop)
#endif </pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">接下来又遇到下面的错误：</p>
<div class="blockquote" style="color: #333333; "><blockquote class="blockquote" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; background-position: initial initial; background-repeat: initial initial; ">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">Docs droiddoc: out/target/common/docs/api-stubs</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">Could not load &#8216;clearsilver-jni&#8217;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">java.library.path = out/host/linux-x86/lib</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">make: *** [out/target/common/docs/api-stubs-timestamp] Error 45</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">make: *** Waiting for unfinished jobs&#8230;.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">Could not load &#8216;clearsilver-jni&#8217;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">java.library.path = out/host/linux-x86/lib</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; ">make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45</p>
</blockquote></div>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">这是由于clearsilver在编译时如果检测到使用Java JDK 6，就使用64位编译。要避开此错误，需要修改下面四个文件：</p>
<div class="itemizedlist" style="color: #333333; ">
<ul class="itemizedlist" type="disc" style="margin-top: 5px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-left: 20px; ">
    <li class="listitem" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">external/clearsilver/cgi/Android.mk</li>
    <li class="listitem" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">external/clearsilver/java-jni/Android.mk</li>
    <li class="listitem" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">external/clearsilver/util/Android.mk</li>
    <li class="listitem" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">external/clearsilver/cs/Android.mk</li>
</ul>
</div>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; ">把这四个Makefile中的下列语句注掉即可：</p>
<pre class="programlisting" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f4f5f7; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; overflow-x: auto; color: #333333; "># This forces a 64-bit build for Java6
# Comment by Easwy
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64 </pre>
<meta charset="utf-8" />
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; color: #333333; font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 20px; ">然后在<span class="emphasis"><em>external/clearsilver</em></span>目录中执行一下<span class="command"><strong>make clean</strong></span>，然后回到项目根目录，继续make即可。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; "><font color="#333333" face="Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif"><span style="font-size: 12px; line-height: 20px;">当编译完成时，生成的image文件放在</span></font><span class="emphasis" style="color: #333333; font-family: Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; font-size: 12px; line-height: 20px; "><em>out/target/product/generic</em></span><font color="#333333" face="Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif"><span style="font-size: 12px; line-height: 20px;">目录中。</span></font><br />
<br />
<font color="#333333" face="Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif"><span style="font-size: 12px; line-height: 20px;">需要将gcc编译环境设置为4.3版本，否则会出现const char* 到 &nbsp;char*无法转换的问题。</span></font><br />
<font color="#333333" face="Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif"><span style="font-size: 12px; line-height: 20px;">http://www.blogjava.net/TiGERTiAN/archive/2011/01/22/343372.html</span></font></p>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/343283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-20 22:24 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/20/343283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android源代码编译发生错误fatal error: alsa/asoundlib.h: No such file or directory解决办法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/12/342810.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 11 Jan 2011 23:59:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/12/342810.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/342810.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/12/342810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/342810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/342810.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title></title>
<meta name="Generator" content="Cocoa HTML Writer" />
<meta name="CocoaVersion" content="1038.35" />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
</style>
<p class="p1"><span style="font-size: 12pt; ">错误：</span><br />
<br />
development/simulator/wrapsim/DevAudio.c:11: fatal error: alsa/asoundlib.h: No such file or directory</p>
<p class="p1">compilation terminated.</p>
<p class="p1">make: *** [out/debug/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/libwrapsim_intermediates/DevAudio.o] Error 1<br />
<br />
<span style="font-size: 12pt; ">解决办法：</span><br />
<br />
<meta charset="utf-8" /><span style="font-family: Georgia, 'Bitstream Charter', 'Times New Roman', serif; font-size: medium; color: #333333; ">
</span></p>
<div class="syhi_block" style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; overflow-x: auto; "><code style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: block; font-family: 'Andale Mono', Lucidatypewriter, Courier, monospace; font-size: 12px; font-style: normal; font-weight: normal; text-align: left; white-space: nowrap; width: 475px; ">$&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #c20cb9; font-weight: bold; ">apt-file</span>&nbsp;search alsa<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; font-weight: bold; ">/</span>asoundlib.h<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
libasound2-dev:&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; font-weight: bold; ">/</span>usr<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; font-weight: bold; ">/</span>include<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; font-weight: bold; ">/</span>alsa<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #000000; font-weight: bold; ">/</span>asoundlib.h</code></div>
<p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; ">So that&#8217;s it,&nbsp;<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">asoundlib.h is in the package libasound2-dev</strong>.</p>
<p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span style="font-size: 12pt; ">apt-file需要使用apt-get install apt-file安装一下。</span></p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/342810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-12 07:59 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/12/342810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Froyo build error (libGLES_android_intermediates/egl.o)</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/11/342792.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 11 Jan 2011 12:38:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/11/342792.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/342792.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/11/342792.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/342792.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/342792.html</trackback:ping><description><![CDATA[Error:<br />
<meta charset="utf-8" /><span  style="color: #222222; font-family: palatino, georgia, verdana, arial, sans-serif; line-height: 19px; font-size: small; ">make: *** [out/debug/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/<br />
libGLES_android_intermediates/egl.o] Error 1<br />
<br />
Solution:<br />
<meta charset="utf-8" />
<pre>in egl.cpp, at the line 554 :
const Region copyBack(Region::subtract(oldDirtyRegion, dirtyRegion));
just remove the 'const' and retry.</pre>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/342792.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-11 20:38 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/11/342792.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android Froyo基于32 bit Ubuntu 10.10编译问题</title><link>http://www.blogjava.net/TiGERTiAN/archive/2011/01/10/342732.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Mon, 10 Jan 2011 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2011/01/10/342732.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/342732.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2011/01/10/342732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/342732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/342732.html</trackback:ping><description><![CDATA[<meta charset="utf-8" />
<div>
<h1 class="aTitle"><font color="#333333" face="宋体, Arial"><span style="font-size: 14px; font-weight: normal; line-height: 19px;">
<meta charset="utf-8" />
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 6px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 6px; ">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title></title>
<meta name="Generator" content="Cocoa HTML Writer" />
<meta name="CocoaVersion" content="1038.35" />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 14.0px 'Heiti SC Light'; color: #333233}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 14.0px Arial; color: #333233}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 14.0px 'Hiragino Kaku Gothic ProN'; color: #333233}
span.s1 {font: 14.0px Arial}
span.s2 {font: 14.0px 'Hiragino Kaku Gothic ProN'}
span.s3 {font: 14.0px 'Heiti SC Light'}
span.s4 {font: 14.0px 'Lucida Grande'}
span.s5 {text-decoration: underline ; color: #2c2cfb}
</style>
</p>
<p class="p1"><span class="s1">&nbsp;</span>查找资料，确定下面的修改步骤（<span class="s1">-</span><span class="s2">表示</span>删除行，<span class="s1">+</span><span class="s2">表示添加行）：</span></p>
<p class="p2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<span class="s2">、修改</span>build/core<span class="s2">目</span><span class="s3">录下的</span>main.mk<span class="s2">文件，修改策略</span><span class="s3">为：</span><span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifeq ($(BUILD_OS),linux)&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; build_arch := $(shell uname -m)&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -ifneq (64,$(findstring 64,$(build_arch)))&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +ifneq (i686,$(findstring i686,$(build_arch)))&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(warning ************************************************************)&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(warning You are attempting to build on a 32-bit system.)&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(warning Only 64-bit build environments are supported beyond froyo/2.2.)</p>
<p class="p2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<span class="s2">、修改下列文件：</span><span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /external/clearsilver/cgi/<a href="http://www.linuxidc.com/topicnews.aspx?tid=11"><span class="s5">Android</span></a>.mk<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /external/clearsilver/cs/<a href="http://www.linuxidc.com/topicnews.aspx?tid=11"><span class="s5">Android</span></a>.mk<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /external/clearsilver/java-jni/<a href="http://www.linuxidc.com/topicnews.aspx?tid=11"><span class="s5">Android</span></a>.mk<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /external/clearsilver/util/<a href="http://www.linuxidc.com/topicnews.aspx?tid=11"><span class="s5">Android</span></a>.mk<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4<span class="s2">个文件的修改策略相同，</span><span class="s3">为：</span><span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # This forces a 64-bit build for Java6&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -LOCAL_CFLAGS += -m64&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -LOCAL_LDFLAGS += -m64&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +LOCAL_CFLAGS += -m32&nbsp;<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +LOCAL_LDFLAGS += -m32</p>
<p class="p1"><span class="s1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="s2">接下来的</span>编译可能会遇到很多因为缺少相应模块而产生的错误，请首先安装下列软件模块：</p>
<p class="p2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bison<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sun-java6-jdk<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g++ (build-essential)<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zlib1g-dev<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flex<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libncurses-dev<span class="s4"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gperf</p>
<p class="p3">然后，就是<span class="s1">make</span>之后漫<span class="s3">长的等待</span><span class="s1">...</span></p>
<p>&nbsp;</p>
</span></font></h1>
</div>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/342732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2011-01-10 21:32 <a href="http://www.blogjava.net/TiGERTiAN/archive/2011/01/10/342732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Building, running, and debugging Android source</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/09/28/333206.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 28 Sep 2010 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/09/28/333206.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/333206.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/09/28/333206.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/333206.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/333206.html</trackback:ping><description><![CDATA[<meta charset="utf-8" /><span  style="border-collapse: collapse; font-family: song, Verdana; font-size: 12px; ">
<p style="font: normal normal normal 12px/normal song, Verdana; ">There is a lot of confusion surrounding the work flow in the Android source tree, so allow me to simplify:</p>
<ol>
    <li>Follow the initial instructions for downloading the source at:
    <p style="font: normal normal normal 12px/normal song, Verdana; "><a href="http://source.android.com/download" style="text-decoration: underline; color: #0044b6; ">http://source.android.com/download</a></p>
    </li>
    <li>Set up your environment to build the engineering build for the generic device and generic product. This is similar to the SDK, but with a few pieces missing.<br style="font: normal normal normal 12px/normal song, Verdana; " />
    <code><br style="font: normal normal normal 12px/normal song, Verdana; " />
    $ source build/envsetup.sh<br style="font: normal normal normal 12px/normal song, Verdana; " />
    $ lunch 1</code>
    <p style="font: normal normal normal 12px/normal song, Verdana; "></p>
    </li>
    <li>To build for the first time:<code></code>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">$ make<br style="font: normal normal normal 12px/normal song, Verdana; " />
    <br style="font: normal normal normal 12px/normal song, Verdana; " />
    If you have a multi-core system, you can build with&nbsp;<code>make -jN</code>&nbsp;where N is twice the number of cores on your machine. This should speed up the first build considerably.</p>
    </li>
    <li>To launch the emulator from your build:<code></code>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">$ ./out/host/&lt;your-machine-type&gt;/bin/emulator<br style="font: normal normal normal 12px/normal song, Verdana; " />
    <br style="font: normal normal normal 12px/normal song, Verdana; " />
    On my system&nbsp;<code>&lt;your-machine-type&gt;</code>&nbsp;is&nbsp;<code>linux-x86</code>.</p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">NOTE:&nbsp;The emulator knows where to find system and data images as a result of running&nbsp;<code>lunch 1</code>&nbsp;above. This sets the environment variable&nbsp;<code>ANDROID_PRODUCT_OUT</code>&nbsp;to point to the target directory. For this example, it should be&nbsp;<code>out/target/product/generic/</code>.</p>
    </li>
    <li>If you wish to make changes to the source code, there are handy utilities that have been exposed to your environment by&nbsp;<code>source build/envsetup.sh</code>&nbsp;above. For example, if you modify the Email app and just want to rebuild it:
    <p style="font: normal normal normal 12px/normal song, Verdana; "><code>$ mmm packages/apps/Email</code></p>
    </li>
    <li>To see your changes in the emulator you can run:
    <p style="font: normal normal normal 12px/normal song, Verdana; "><code>$ adb remount<br style="font: normal normal normal 12px/normal song, Verdana; " />
    $ adb sync</code></p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">Which will copy the regenerated&nbsp;<code>Email.apk</code>&nbsp;file into the emulator&#8217;s&nbsp;<code>/system/app</code>&nbsp;folder, triggering the&nbsp;<code>PackageManager</code>&nbsp;to automatically reinstall it.</p>
    </li>
    <li>Or if you change framework resources in&nbsp;<code>frameworks/base/core/res/res/</code>&nbsp;you could regenerate&nbsp;<code>framework-res.apk</code>&nbsp;with:
    <p style="font: normal normal normal 12px/normal song, Verdana; "><code>$ mmm frameworks/base/core/res</code></p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">Or if you modified even the framework itself you could run:</p>
    <p style="font: normal normal normal 12px/normal song, Verdana; "><code>$ ONE_SHOT_MAKEFILE="frameworks/base/Android.mk" make framework</code></p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">This is a special variation of&nbsp;<code>mmm</code>&nbsp;which is used to build&nbsp;<code>frameworks/base/core/java</code>.</p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">To sync these changes you must restart the running framework and sync, as with this handy sequence:</p>
    <p style="font: normal normal normal 12px/normal song, Verdana; "><code>$ adb remount<br style="font: normal normal normal 12px/normal song, Verdana; " />
    $ adb shell stop<br style="font: normal normal normal 12px/normal song, Verdana; " />
    $ adb sync<br style="font: normal normal normal 12px/normal song, Verdana; " />
    $ adb shell start</code></p>
    <p style="font: normal normal normal 12px/normal song, Verdana; "></p>
    </li>
    <li>Finally, to debug your changes you can use the DDMS tool to select a process for debug and then attach Eclipse to it. If you have the Eclipse Android Development plugin installed, there is a special DDMS perspective which you can use to choose the process for debug. To attach Eclipse to it, see these instructions:
    <p style="font: normal normal normal 12px/normal song, Verdana; "><a href="http://source.android.com/using-eclipse" style="text-decoration: underline; color: #0044b6; ">http://source.android.com/using-eclipse</a></p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">This document also describes how to use Eclipse for development. Any IDE should work with the proper finagling though. Just note that the IDE won&#8217;t really by an integrated environment, the final output of APKs,&nbsp;<code>system.img</code>, and even the generation of&nbsp;<code>R.java</code>&nbsp;files will have to be done by&nbsp;<code>make</code>!</p>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">A note about the processes in Android:</p>
    <ul>
        <li><code>system_process</code>&nbsp;houses all things under&nbsp;<code>frameworks/base/services</code>. This includes the PackageManagerService, StatusBarService, etc. It has many, many threads (one for each service, and then one main UI thread), so be wary when debugging.</li>
        <li><code>com.android.acore</code>&nbsp;hosts Launcher (home), Contacts, etc. You can determine the apps/providers that run here by looking for<code>android:process="android.process.acore"</code>&nbsp;in the various&nbsp;<code>AndroidManifest.xml</code>&nbsp;files in packages/.</li>
    </ul>
    <p style="font: normal normal normal 12px/normal song, Verdana; ">Also remember that the &#8220;framework&#8221; (under&nbsp;<code>frameworks/base/core/java</code>) is not hosted by any one process. It is a library used by most processes, so to debug code there you can usually use a simple demo app that takes advantage of whatever you changed and debug that app&#8217;s process. A useful trick for setting up your debug connection is to call&nbsp;<code>Debug.waitForDebugger()</code>&nbsp;during some startup part of an application or system service.</p>
    </li>
</ol>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/333206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-09-28 11:25 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/09/28/333206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Configuring a New Product of Android 2.2 Froyo</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332751.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Fri, 24 Sep 2010 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332751.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/332751.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332751.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/332751.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/332751.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Configuring a New ProductIn this document    Detailed Instructions    New Product File Tree    Product Definition FilesDetailed InstructionsThe steps below describe h...&nbsp;&nbsp;<a href='http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332751.html'>阅读全文</a><img src ="http://www.blogjava.net/TiGERTiAN/aggbug/332751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-09-24 11:11 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Using eclipse with android source</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332731.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Fri, 24 Sep 2010 00:41:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332731.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/332731.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332731.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/332731.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/332731.html</trackback:ping><description><![CDATA[<meta charset="utf-8" /><span  style="color: #333333; font-family: arial, sans-serif; font-size: 13px; ">
<div id="jd-header" class="guide-header" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 7px; padding-right: 15px; padding-bottom: 7px; padding-left: 15px; border-style: initial; border-color: initial; background-color: #ffffff; color: #435a6e; height: 50px; ">
<h1 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.7em; ">sing Eclipse</h1>
</div>
<div id="jd-content" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 18px; padding-right: 15px; padding-bottom: 18px; padding-left: 15px; border-style: initial; border-color: initial; ">
<div class="jd-descr" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-style: initial; border-color: initial; ">
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-style: initial; border-color: initial; ">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">This document will help you set up the Eclipse IDE for Android platform development.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; "><em>Note: if you are looking for information on how to use Eclipse to develop applications that run on Android, this is not the right page for you. You probably would find&nbsp;<a href="http://developer.android.com/sdk/eclipse-adt.html" style="color: #006699; ">the Eclipse page on developer.android.com</a>&nbsp;more useful.</em></p>
<h2 style="margin-top: 2em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 2px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.45em; color: #111111; border-top-style: solid; border-top-color: #cccccc; "><a style="color: #006699; ">Enter eclipse</a></h2>
<h4 style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.1em; color: #222222; ">Basic setup</h4>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">First, it's important to make sure the regular Android development system is set up.</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">cd /path/to/android/root <br />
make     # and wait a while, if you haven't done this <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; "><strong>Important</strong>&nbsp;: You will still be using "make" to build the files you will actually run (in the emulator or on a device). You will be using Eclipse to edit files and verify that they compile, but when you want to run something you will need to make sure files are saved in Eclipse and run "make" in a shell. The Eclipse build is just for error checking.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Eclipse needs a list of directories to search for Java files. This is called the "Java Build Path" and can be set with the .classpath file. We have a sample version to start you off.</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">cd /path/to/android/root <br />
cp development/ide/eclipse/.classpath .<br />
chmod u+w .classpath  # Make the copy writable <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Now edit that copy of .classpath, if necessary.</p>
<h5 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">Increase Eclipse's Memory Settings</h5>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">The Android project is large enough that Eclipse's Java VM sometimes runs out of memory while compiling it. Avoid this problem by editing the the eclipse.ini file. On Apple OSX the eclipse.ini file is located at /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Memory-related defaults (as of Eclipse 3.4)</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">-Xms40m <br />
-Xmx256m <br />
-XX:MaxPermSize=256m <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Recommended settings for Android development</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">-Xms128m <br />
-Xmx512m <br />
-XX:MaxPermSize=256m <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">These settings set Eclipse's minimum Java heap size to 128MB, set the maximum Java heap size to 512MB, and keep the maximum permanent generation size at the default of 256MB.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Now start Eclipse:</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">eclipse  # or you can click some clicky thing instead, if you prefer <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Now create a project for Android development:</p>
<ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">If Eclipse asks you for a workspace location, choose the default.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">If you have a "Welcome" screen, close it to reveal the Java perspective.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">File New Java Project</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Pick a project name, "android" or anything you like.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Select "Create project from existing source", enter the path to your Android root directory, and click Finish.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Wait while it sets up the project. (You'll see a subtle progress meter in the lower right corner.)</li>
</ol>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Once the project workspace is created, Eclipse should start building. In theory, it should build with no errors and you should be set to go. If necessary, uncheck and re-check Project Build Automatically to force a rebuild.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; "><em><strong>Note:</strong>&nbsp;</em>Eclipse sometimes likes to add an "import android.R" statement at the top of your files that use resources, especially when you ask eclipse to sort or otherwise manage imports. This will cause your make to break. Look out for these erroneous import statements and delete them.</p>
<h4 style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.1em; color: #222222; ">When you sync</h4>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Every time you repo sync, or otherwise change files outside of Eclipse (especially the .classpath), you need to refresh Eclipse's view of things:</p>
<ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Window Show View Navigator</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">In the "Navigator", right-click on the project ("android-java" or whatever you named it)</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Click Refresh in the context menu</li>
</ol>
<h4 style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.1em; color: #222222; ">Adding apps to the build path</h4>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">The default .classpath includes the source to the core system and a sample set of apps, but might not include the particular app you may want to work on. To add an app, you must add the app's source directory. To do this inside Eclipse:</p>
<ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Project Properties</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Select "Java Build Path" from the left-hand menu.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Choose the "Source" tab.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Click "Add Folder...".</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Add your app's "src" directory.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Click OK.</li>
</ol>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">When you're done, the "source folder" path in the list should look like android/packages/apps/<em>YourAppName</em>&nbsp;/src. Depending on which app(s) you include, you may also need to include othersrc/main/java directories under android/dalvik/libcore. Do this if you find you cannot build with the default set.</p>
<h2 style="margin-top: 2em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 2px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.45em; color: #111111; border-top-style: solid; border-top-color: #cccccc; "><a style="color: #006699; ">Eclipse formatting</a></h2>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">You can import files in development/ide/eclipse to make Eclipse follow the Android style rules. Select "Window &#8250; Preferences &#8250; Java &#8250; Code Style". Use "Formatter &#8250; Import" to import android-formatting.xml and "Organize Imports &#8250; Import" to import android.importorder.</p>
<h2 style="margin-top: 2em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 2px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.45em; color: #111111; border-top-style: solid; border-top-color: #cccccc; "><a style="color: #006699; ">Debugging the emulator with Eclipse</a></h2>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">You can also use eclipse to debug the emulator and step through code. First, start the emulator running:</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">cd /path/to/android/root <br />
. build/envsetup.sh <br />
lunch 1   # to build the emulator <br />
make      # if you didn't already do this <br />
emulator  # you should see a GUI picture of a phone <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">In another shell, start DDMS (the Dalvik debug manager):</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">cd /path/to/android/root <br />
ddms      # you should get a splufty debugging console <br />
</pre>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Now, in eclipse, you can attach to the emulator:</p>
<ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Run Open Debug Dialog...</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Right-click "Remote Java Application", select "New".</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Pick a name, "android-debug" or anything you like.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Set the "Project" to your project ("android-java" or whatever).</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Keep the "Host" set to "localhost", but change "Port" to 8700.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Click the "Debug" button and you should be all set.</li>
</ol>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Note that port 8700 is attached to whatever process is currently selected in the DDMS console, so you need to sure that DDMS has selected the process you want to debug.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">You may need to open the Debug perspective (next to the "Java" perspective icon in the upper-right, click the small "Open Perspective" icon and select "Debug"). Once you do, you should see a list of threads; if you select one and break it (by clicking the "pause" icon), it should show the stack trace, source file, and line where execution is at. Breakpoints and whatnot should all work.</p>
<h2 style="margin-top: 2em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 2px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.45em; color: #111111; border-top-style: solid; border-top-color: #cccccc; "><a style="color: #006699; ">Bonus material</a></h2>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Replace Ctrl with the Apple key on Mac.</p>
<pre class="prettyprint" style="color: #007000; font-family: monospace; line-height: inherit; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; background-color: #fafafa; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 1em; overflow-x: auto; overflow-y: auto; ">Ctrl-Shift-o = Organize imports <br />
Ctrl-Shift-t = load class by name <br />
Ctrl-Shift-r = load non-class resource by name <br />
Ctrl-1 = quick fix <br />
Ctrl-e = Recently viewed files <br />
Ctrl-space = auto complete <br />
Shift-Alt-r = refactor:rename <br />
Shift-Alt-v = refactor:move <br />
</pre>
<h2 style="margin-top: 2em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 2px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1.45em; color: #111111; border-top-style: solid; border-top-color: #cccccc; "><a style="color: #006699; ">"Eclipse is not working correctly, what should I do?"</a></h2>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Make sure:</p>
<ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">You followed the instructions on this page precisely.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Your Problems view doesn't show any errors.</li>
    <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">Your application respects the package/directory structure.</li>
</ul>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; line-height: 1.3em; ">If you're still having problems, please contact one of the Android mailing lists or IRC channels.</p>
</div>
</div>
</div>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/332731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-09-24 08:41 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/09/24/332731.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Compiling Android 2.2 Froyo source On Mac OS X 10.6 Snow Leopard</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/09/21/332630.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 21 Sep 2010 13:53:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/09/21/332630.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/332630.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/09/21/332630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/332630.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/332630.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Here are the steps.1. Install XCode, Macports, repo, etc.I assume everyone knows how to do this. Follow the instructions from the&nbsp;Get Android Source Code&nbsp;page. Just remember to create a ...&nbsp;&nbsp;<a href='http://www.blogjava.net/TiGERTiAN/archive/2010/09/21/332630.html'>阅读全文</a><img src ="http://www.blogjava.net/TiGERTiAN/aggbug/332630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-09-21 21:53 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/09/21/332630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>android在ubuntu桌面系统下编译可能的错误和解决方法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/09/19/332475.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 19 Sep 2010 12:55:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/09/19/332475.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/332475.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/09/19/332475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/332475.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/332475.html</trackback:ping><description><![CDATA[<span style="font-size: 12px; line-height: 20px; ">
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">Ubuntu9.10默认安装的纯净系统，没装任何其他软件。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　1.下载源码android-2.1_r2，直接make</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　2.出错及解决如下：</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(1)/bin/bash: bison: command not found</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install bison</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(2)make: *** No rule to make target `Please-install-JDK-5.0,-update-12-or-higher,-which-you-can-download-from-java.sun.com',</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　needed by `out/target/common/docs/api-stubs-timestamp'. Stop.</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：安装JDK 5.0</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　1)：根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了，所以这里我们使用jdk5</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　2): 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　3): 在source.list里把以下2行拷贝到文档最后面：</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　保存退出。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　4): 执行 sudo apt-get update 更新源.</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　5): 配置编译环境并下载JDK5：sudo apt-get install sun-java5-jdk</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(3)/bin/bash: g++: command not found</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o] Error 127</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install build-essential</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(4)external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c: In function &#8216;cgi_compress&#8217;:</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:885: error: &#8216;z_stream&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:885: error: (Each undeclared identifier is reported only once</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:885: error: for each function it appears in.)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:885: error: expected &#8216;;&#8217; before &#8216;stream&#8217;</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:888: error: &#8216;stream&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:888: error: &#8216;Bytef&#8217; undeclared (first use in&nbsp;</p>
<div>this function)</div>
</span>
<span style="font-size: 12px; line-height: 20px; ">
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; "></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:888: error: expected expression before &#8216;)&#8217; token</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:889: error: &#8216;uInt&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:889: error: expected &#8216;;&#8217; before &#8216;str&#8217;</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:890: error: expected expression before &#8216;)&#8217; token</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:892: error: &#8216;uLong&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:892: error: expected &#8216;)&#8217; before &#8216;stream&#8217;</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:895: error: &#8216;alloc_func&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:895: error: expected &#8216;;&#8217; before numeric constant</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:896: error: &#8216;free_func&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:896: error: expected &#8216;;&#8217; before numeric constant</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:897: error: &#8216;voidpf&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:897: error: expected &#8216;;&#8217; before numeric constant</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:900: error: &#8216;Z_DEFAULT_COMPRESSION&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:900: error: &#8216;Z_DEFLATED&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:900: error: &#8216;MAX_WBITS&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:900: error: &#8216;Z_DEFAULT_STRATEGY&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:901: error: &#8216;Z_OK&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:904: error: &#8216;Z_FINISH&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:905: error: &#8216;Z_STREAM_END&#8217; undeclared (first use in this function)&nbsp;external/clearsilver/cgi/cgi.c: In function &#8216;cgi_output&#8217;:</p>
</span>
<span style="font-size: 12px; line-height: 20px; ">
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:1200: error: &#8216;Z_NULL&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:1201: error: expected &#8216;)&#8217; before &#8216;Bytef&#8217;</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　external/clearsilver/cgi/cgi.c:1218: error: &#8216;Z_DEFLATED&#8217; undeclared (first use in this function)</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install zlib1g-dev</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(5)/bin/bash: flex: command not found</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install flex</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(6)/usr/bin/ld: cannot find -lncurses</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　collect2: ld returned 1 exit status</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install libncurses-dev</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(7)prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: error: X11/Xlib.h: No such file or directory</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:56:23: error: X11/Xatom.h: No such file or directory</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　In file included from external/qemu/android/skin/window.c:19:</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:73: error: expected specifier-qualifier-list before &#8216;XEvent&#8217;</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:86: error: expected specifier-qualifier-list before &#8216;Display&#8217;</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/skin/window.o] Error 1</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install libx11-dev</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　(8)sh: gperf: not found</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　calling gperf failed: 32512 at ./makeprop.pl line 96.</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h]&nbsp;Error 25</p>
</span>
<span style="font-size: 12px; line-height: 20px; ">
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; "></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　解决：a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install gperf</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">　　http://hi.baidu.com/maxgoto/blog/item/fa000f7bf01135f80ad187d8.html&nbsp;最近下载了Android 2.1源码，在Ubuntu 9.10上做了一次编译，由于系统为纯净系统，之前没有进行过任何Android的编译，所以需先安装一些必要软件。编译过程参考网上一些文章，做下笔记如下，以供参考：</p>
</span>
<span style="font-size: 12px; line-height: 20px; ">
<p style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">1. 下载或更新<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: x-small; color: #ff0000; line-height: 15px; ">Android源码</span>&nbsp;至最新，截止到前天(04-09)好像是2.1-r2.</p>
<p style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">2. Android 要求的 jdk 1.5,而Ubuntu9.10的源里只有JDK1.6. 目前网上解决方法有两种：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: x-small; color: #ff0000; line-height: 15px; ">&nbsp;&nbsp;&nbsp; 解决方法一：</span>&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: xx-small; color: #000000; line-height: 13px; ">安装JDK1.5<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
</span>&nbsp;&nbsp; 1） 根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了，所以这里我们使用jdk5<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp; 2） 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp; 3） 在source.list里把以下2行拷贝到文档最后面：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deb&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; line-height: 21px; text-decoration: underline; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; color: #274e13; line-height: 21px; ">http://us.archive.ubuntu.com/ubuntu/</span>&nbsp;</span>jaunty multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deb&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; line-height: 21px; text-decoration: underline; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; color: #274e13; line-height: 21px; ">http://us.archive.ubuntu.com/ubuntu/</span>&nbsp;</span>jaunty-updates multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保存退出。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp; 4） 执行 sudo apt-get update 更新源.<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp; 5）配置编译环境并下载JDK5：sudo apt-get install sun-java5-jdk</p>
</span>
<span style="font-size: 12px; line-height: 20px; ">&nbsp;&nbsp;&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: x-small; line-height: 15px; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; color: #ff0000; line-height: 15px; ">解决方法二：</span>&nbsp;</span><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: xx-small; color: #000000; line-height: 13px; ">安装JDK 1.6</span>&nbsp;, 修改Android源文件。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp; 1） 安装jdk 1.6，修改&lt;src_top/build/core/make.mk&gt;(如果2.0版本源码请修改&lt;src_top/build/core/main.mk&gt;)<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; 在文件中搜索并分别把：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java_version := $(shell java -version 2&gt;&amp;1 | head -n 1 | grep '[ "]1.5[. "$$]')<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; javac_version := $(shell javac -version 2&gt;&amp;1 | head -n 1 | grep '[ "]1.5[. "$$]')<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; 两行改成：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java_version := $(shell java -version 2&gt;&amp;1 | head -n 1 | grep '[ "]1.6[. "$$]')<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; javac_version := $(shell javac -version 2&gt;&amp;1 | head -n 1 | grep '[ "]1.6[. "$$]')<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; 即可。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp;<em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-style: italic; "><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; color: #45818e; line-height: 21px; ">推荐使用第一种解决方法。</span></em>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; "></p>
<p style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">3.&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: x-small; color: #ff0000; line-height: 15px; ">安装编译过程中必需软件</span>&nbsp;。根据网上高人的经验，这是编译的最小工具软件集。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; $sudo apt-get install build-essential<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; $sudo apt-get install zlib1g-dev<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; $sudo apt-get install flex<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; $sudo apt-get install libncurses-dev<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; $sudo apt-get install libx11-dev<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; " />
&nbsp;&nbsp;&nbsp; $sudo apt-get install gperf</p>
<p style="margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; ">4.&nbsp;<span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: x-small; color: #ff0000; line-height: 15px; ">make&nbsp;</span>.经过漫长的编译过程，编译成功。</p>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/332475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-09-19 20:55 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/09/19/332475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Please increase the size of APT::Cache-Limit问题的解决方法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/09/17/332246.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Fri, 17 Sep 2010 00:22:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/09/17/332246.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/332246.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/09/17/332246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/332246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/332246.html</trackback:ping><description><![CDATA[编辑
<meta charset="utf-8" /><span  style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; ">/etc/apt/apt.conf.d/70debconf<br />
加入</span>
<meta charset="utf-8" /><span  style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; ">APT::Cache-Limit "33554432";或者更大的空间数值<br />
保存<br />
执行sudo apt-get autoclean<br />
执行sudo apt-get update即可</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/332246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-09-17 08:22 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/09/17/332246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编译Android源码</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322292.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 30 May 2010 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322292.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/322292.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/322292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/322292.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Android Build SystemIn this document    Understanding the makefile    Layers    Building the Android Platform    Building the Android Kernel    Build VariantsAndroid ...&nbsp;&nbsp;<a href='http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322292.html'>阅读全文</a><img src ="http://www.blogjava.net/TiGERTiAN/aggbug/322292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-05-30 17:33 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu添加源和安装Java</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322286.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 30 May 2010 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322286.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/322286.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/322286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/322286.html</trackback:ping><description><![CDATA[sudo nano /etc/apt/sources.list<br />
1. 添加下面的语句到文件中，保存即可添加apt-get源了<br />
<span style="font-family: verdana, sans-serif; font-size: 14px; line-height: 21px; ">
<pre>deb http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
<font face="'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif" size="3"><span style="font-size: 12px; line-height: 16px; white-space: normal;">
<meta charset="utf-8" />deb&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-security main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-updates main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-proposed main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-backports main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb-src&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb-src&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-security main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb-src&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-updates main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb-src&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-proposed main restricted universe multiverse<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
deb-src&nbsp;<a class="postlink" href="http://mirror.optus.net/ubuntu/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #9f4c09; text-decoration: none; ">http://mirror.optus.net/ubuntu/</a>&nbsp;jaunty-backports main restricted universe multiverse<br />
<br />
2. 切换到9.04的源<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
sudo apt-get update<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
3. update之后，用<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
sudo apt-get install sun-java5-jdk 即可安装java 1.5<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
4. 安装后进行设置：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
sudo update-alternatives --config java<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />
sudo update-java-alternatives -s java-1.5.0-sun</span></font></pre>
</span>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/322286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-05-30 17:08 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/05/30/322286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下制作Java的Daemon服务程序（系统服务程序）</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310037.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 19 Jan 2010 02:16:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310037.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/310037.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310037.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/310037.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/310037.html</trackback:ping><description><![CDATA[最后找到了JavaService Wrapper(<a href="http://wrapper.tanukisoftware.org/doc/english/introduction.html">http://wrapper.tanukisoftware.org/doc/english/introduction.html</a>),该工具能在很多中平台下面注册为系统服务(查看支持平台)。该工具使用方法有三种模式，我用的是第一种WrapperSimpleApp帮助类，另外的两种方式都需要在原来的程序上进行适当的编码。下面就用我的程序ss为例子说明下大概的配置步骤。(其实文档中已经用Jboss进行了演示)<br />
<br />
<p>1.将Wrapper压缩包中的bin,lib,conf,logs目录拷贝到新建的目录ss中，将我们的程序打包成jar和依赖包一起放入lib中。<br />
<br />
2.将bin目录中的testwrapper改成应用名ss，并编辑，修改下面两项：<br />
APP_NAME="SocketServer"<br />
APP_LONG_NAME="SocketServer Application"<br />
<br />
3.修改conf/wrapper.conf文件：<br />
</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">＃wrapper的主类<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />wrapper</span><span style="color: #000000">.</span><span style="color: #000000">java</span><span style="color: #000000">.</span><span style="color: #000000">mainclass</span><span style="color: #000000">=</span><span style="color: #000000">org</span><span style="color: #000000">.</span><span style="color: #000000">tanukisoftware</span><span style="color: #000000">.</span><span style="color: #000000">wrapper</span><span style="color: #000000">.</span><span style="color: #000000">WrapperSimpleApp<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008000">#</span><span style="color: #008000">java&nbsp;classpath</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />wrapper</span><span style="color: #000000">.</span><span style="color: #000000">java</span><span style="color: #000000">.</span><span style="color: #000000">classpath</span><span style="color: #000000">.</span><span style="color: #800000">1</span><span style="color: #000000">=../</span><span style="color: #000000">lib</span><span style="color: #000000">/</span><span style="color: #000000">wrapper</span><span style="color: #000000">.</span><span style="color: #000000">jar<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />wrapper</span><span style="color: #000000">.</span><span style="color: #000000">java</span><span style="color: #000000">.</span><span style="color: #000000">classpath</span><span style="color: #000000">.</span><span style="color: #800000">6</span><span style="color: #000000">=../</span><span style="color: #000000">lib</span><span style="color: #000000">/</span><span style="color: #000000">ss</span><span style="color: #000000">.</span><span style="color: #000000">jar<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008000">#</span><span style="color: #008000">你应用的入口<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#注意如果参数不是1，是2，经过测试发现，用这种方式，入口如果赋值给参数1，则不起作用</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">wrapper</span><span style="color: #000000">.</span><span style="color: #000000">app</span><span style="color: #000000">.</span><span style="color: #000000">parameter</span><span style="color: #000000">.</span><span style="color: #800000">2</span><span style="color: #000000">=</span><span style="color: #000000">com</span><span style="color: #000000">.</span><span style="color: #000000">test</span><span style="color: #000000">.</span><span style="color: #000000">ss</span><span style="color: #000000">.</span><span style="color: #000000">Main<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008000">#</span><span style="color: #008000">你应用自带的一些参数</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">wrapper</span><span style="color: #000000">.</span><span style="color: #000000">app</span><span style="color: #000000">.</span><span style="color: #000000">parameter</span><span style="color: #000000">.</span><span style="color: #800000">3</span><span style="color: #000000">=</span><span style="color: #800000">29999</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p>4.这样基本上就可以了，上传到服务器上，进入bin目录，执行./ss start，如果没有权限，则执行chmod a+x *即可<br />
</p>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/310037.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-01-19 10:16 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310037.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下Openssh的配置</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310034.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 19 Jan 2010 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310034.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/310034.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310034.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/310034.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/310034.html</trackback:ping><description><![CDATA[<h3>安装和设置 OpenSSH Server</h3>
<p>Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情，需要的命令只有一条：</p>
<blockquote>
<p>sudo apt-get install openssh-server</p>
</blockquote>
<p>随后，Ubuntu 会自动下载并安装 openssh server，并一并解决所有的依赖关系。当您完成这一操作后，您可以找另一台计算机，然后使用一个 SSH 客户端软件（强烈推荐 PuTTy），输入您服务器的 IP 地址。如果一切正常的话，等一会儿就可以连接上了。并且使用现有的用户名和密码应该就可以登录了。</p>
<p>事实上如果没什么特别需求，到这里 OpenSSH Server 就算安装好了。但是进一步设置一下，可以让 OpenSSH 登录时间更短，并且更加安全。这一切都是通过修改 openssh 的配置文件 sshd_config 实现的。</p>
<p>首先，您刚才实验远程登录的时候可能会发现，在输入完用户名后需要等很长一段时间才会提示输入密码。其实这是由于 sshd 需要反查客户端的 dns 信息导致的。我们可以通过禁用这个特性来大幅提高登录的速度。首先，打开 sshd_config 文件：</p>
<blockquote>
<p>sudo nano /etc/ssh/sshd_config</p>
</blockquote>
<p>找到 GSSAPI options 这一节，将下面两行注释掉：</p>
<blockquote>
<pre>#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no</pre>
</blockquote>
<p>然后重新启动 ssh 服务即可：</p>
<blockquote>
<p>sudo /etc/init.d/ssh restart</p>
</blockquote>
<p>再登录试试，应该非常快了吧 <img class="wp-smiley" alt=":)" src="http://blog.istef.info/wp-includes/images/smilies/icon_smile.gif" /> </p>
<h3>利用 PuTTy 通过证书认证登录服务器</h3>
<p>SSH 服务中，所有的内容都是加密传输的，安全性基本有保证。但是如果能使用证书认证的话，安全性将会更上一层楼，而且经过一定的设置，还能实现证书认证自动登录的效果。</p>
<p>首先修改 sshd_config 文件，开启证书认证选项：</p>
<blockquote>
<pre>RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys</pre>
</blockquote>
<p>修改完成后重新启动 ssh 服务。</p>
<p>下一步我们需要为 SSH 用户建立私钥和公钥。首先要登录到需要建立密钥的账户下，这里注意退出 root 用户，需要的话用 su 命令切换到其它用户下。然后运行：</p>
<blockquote>
<p>ssh-keygen</p>
</blockquote>
<p>这里，我们将生成的 key 存放在默认目录下即可。建立的过程中会提示输入 passphrase，这相当于给证书加个密码，也是提高安全性的措施，这样即使证书不小心被人拷走也不怕了。当然如果这个留空的话，后面即可实现 PuTTy 通过证书认证的自动登录。</p>
<p>ssh-keygen 命令会生成两个密钥，首先我们需要将公钥改名留在服务器上：</p>
<blockquote>
<pre>cd ~/.ssh
mv id_rsa.pub authorized_keys</pre>
</blockquote>
<p>然后将私钥 id_rsa 从服务器上复制出来，并删除掉服务器上的 id_rsa 文件。</p>
<p>服务器上的设置就做完了，下面的步骤需要在客户端电脑上来做。首先，我们需要将 id_rsa 文件转化为 PuTTy 支持的格式。这里我们需要利用 PuTTyGEN 这个工具：</p>
<p>点击 PuTTyGen 界面中的 Load 按钮，选择 id_rsa 文件，输入 passphrase（如果有的话），然后再点击 Save PrivateKey 按钮，这样 PuTTy 接受的私钥就做好了。</p>
<p>打开 PuTTy，在 Session 中输入服务器的 IP 地址，在 Connection-&gt;SSH-&gt;Auth 下点击 Browse 按钮，选择刚才生成好的私钥。然后回到 Connection 选项，在 Auto-login username 中输入证书所属的用户名。回到 Session 选项卡，输入个名字点 Save 保存下这个 Session。点击底部的 Open 应该就可以通过证书认证登录到服务器了。如果有 passphrase 的话，登录过程中会要求输入 passphrase，否则将会直接登录到服务器上，非常的方便。</p>
<p>好了，今天就写到这，以后逐步再写 AMP，Proftpd 和 Squid 的安装和设置。</p>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/310034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-01-19 09:53 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/01/19/310034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>