java 安卓调试_使用Eclispe进行Android系统应用的开发和调试

使用Eclispe进行Android系统应用的开发和调试

准备好自己的源码并顺利编译通过,现在开始进一步开发啦^^。还没准备好的,可以参阅我上一篇《》。

以下的内容就直接延续我上篇的环境目录,不做特殊说明了。

一、阅读文档

步骤其实讲述的很清楚了,但在自己的环境下难免不遇到一点问题。

二、准备环境

1)修改Java环境变量

好吧,只能说之前配置的不合规范了。至于之后会引起什么问题,也会提到的,算是给别人的参考吧(安慰下自己T^T)。

1. sudo gedit /etc/profile(在这配置Java环境变量)

添加内容:

JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_29

export JRE_HOME=/usr/lib/jvm/java/jre1.6.0_29

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

2. sudo gedit /etc/environment(把之前的改回来,再重启==)

修改前:

PATH="......:$JAVA_HOME/bin"(......为原PATH)

CLASSPATH=".:$JAVA_HOME/lib"

JAVA_HOME="/usr/lib/jvm/java/jdk1.6.0_29"

修改后:

PATH="......"(......为原PATH)

2)进入源码目录

join@join-Vostro-230:~$ cd ~/env/android_src/4.0.3_r1/

3)copy .classpath

join@join-Vostro-230:~/env/android_src/4.0.3_r1$ cp development/ide/eclipse/.classpath .

join@join-Vostro-230:~/env/android_src/4.0.3_r1$ chmod u+w .classpath

4)修改Eclipse缓存

join@join-Vostro-230:~/env/android_src/4.0.3_r1$ cd ~/env/eclipse/

join@join-Vostro-230:~/env/eclipse$ gedit eclipse.ini

-XX:MaxPermSize=256m

-Xms40m

-Xmx512m

修改为

-XX:MaxPermSize=256m

-Xms128m

-Xmx512m

5)建立Eclipse工程

join@join-Vostro-230:~/env/eclipse$ ./eclipse

New->Java Project

Project name: 4.0.3_r1

Use default location:去除钩选

Location->Browse...: /home/join/env/android_src/4.0.3_r1

等待一会...

bingo,工程建立好了^^。

1、Eclispe建立Java工程时,注意是“Create project from existing source”。官方文档说要选择这个,我建时没这选项直接选路径就ok了,可能是不同版本Eclispe的原因吧==。

2、红色叉叉、警告什么的先不管,这不影响模块编译。或者先往下看调试部分的内容,把这先解决^^。

6)增加Eclispe模版

模版在‘源码目录/development/ide/eclipse’下,android-formatting.xml&android.importorder文件。(.classpath也是在这目录下的,Ctrl+H显示隐藏文件即可看到^^)

1)Select Window > Preferences > Java > Code Style.

2)Use Formatter > Import to import android-formatting.xml.

3)Organize Imports > Import to import android.importorder.

三、修改应用,局部编译

1)修改&编译

1)找到packages/apps/Launcher2/src,右键Go Into,在上方有个左右箭头可以来回切换。这样之后,方便查看代码。

2)在Launcher.java的onCreate(...)里加个自己的Log,如“Log.e("Join", "Hello, I'm Join!");”。

3)编译Launcher2:

Ctrl+Alt+T(新开一个终端)

gedit ~/.bashrc(编辑.bashrc)

添加“source ~/env/android_src/4.0.3_r1/build/envsetup.sh”,免去每次启动新的终端执行mm等命令之前,需要引用此文件。

cd ~/env/android_src/4.0.3_r1/(进入源码目录)

. build/envsetup.sh(准备好环境,这次还是要的)

mmm packages/apps/Launcher2/(编译Launcher2模块,或者直接make Launcher2)

make snod(重新生成system.img,如果只是为了修APP就没必要了)

1、在编译Launcher2模块时,你应该可以看到新APP的生成。

2、重新生成个img吧,之后我们还要看下打的日志呢^^。

3、之前说的Java环境变量,如果还是原配置的话在make snod时会有问题。

错误:“/bin/bash: jar:未找到命令”

补充:java -version版本没问题,javac也还能找到,但jar就是不行。也试过了“sudo ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/jar”来链接,至少我这无效T^T。

2)确认日志

Ctrl+Alt+T(新开一个终端)

cd ~/env/android_src/4.0.3_r1/(进入源码目录)

lunch 1(创建模拟器)

emulator(打开模拟器)

cd ~/env/eclipse/(进入Eclispe目录,新开终端或原先的)

./eclipse(打开Eclispe,还开着的忽视==)

在DDMS中选择emulator,过滤看看是否有你之前打的Log,如“Join”^^。

1、Eclispe安装了ADT组件的话,可以直接看它的。如果没的话,就另外打开吧。

Ctrl+Alt+T(新开一个终端)

cd ~/env/android_src/4.0.3_r1/(进入源码目录)

ddms(开启DDMS)

四、调试源码

1)2.3.3_r1源码的调试

cd ~/env/eclipse/(进入Eclispe目录)

./eclipse(打开Eclispe)

修正lib包错误,右键工程->Properties->左侧选Java Build Path->右侧选Libraries标签->选中两红叉的lib,Remove掉->Add JARs...->增加“out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar”。

Ctrl+Alt+T(新开一个终端)

cd ~/env/android_src/4.0.3_r1/(进入源码目录)

lunch 1(创建模拟器)

emulator(打开模拟器)

在emulator中进入settings,在Eclipse的DDMS里,选中新增加的com.android.settings进程。注意进程名称一行最后一项多了个/8700,即是之后设置的Port。

返回工程界面,找到“packages/apps/Settings/src”打开“com.android.settings”包内的“WirelessSettings.java”类,在onCreate()方法内打个断点。

右键工程->Debug As->Debug Configurations->左侧栏双击Remote Java Application->修改右侧栏Connect标签下配置,Connection Type: Standard(Socket Attach),Connection Properties: Host,localhost; Port,8700->将Common标签下的Debug打钩->继而“Apply”、“Debug”

回到emulator,选择Wireless&networks。OK,开始Debug吧^^。

2)4.0.3_r1源码的调试

cd ~/env/eclipse/(进入Eclispe目录)

./eclipse &(打开Eclispe,后台)

修正lib包错误,右键工程->Properties->左侧选Java Build Path->右侧选Libraries标签->选中两红叉的lib,Remove掉->Add JARs...->增加“out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar”、“out/target/common/obj/JAVA_LIBRARIES/filterfw_intermediates/classes-jarjar.jar”、“out/target/common/obj/JAVA_LIBRARIES/android-support-v13_intermediates/classes-jarjar.jar”。

cd ~/env/android_src/4.0.3_r1/(进入源码目录)

lunch 1(创建模拟器)

emulator(打开模拟器)

在Eclipse工程界面,找到“packages/apps/Launcher2/src”打开“com.android.launcher2”包内的“Launcher.java”类,在onKeyDown()方法内打个断点。继而在DDMS中,选中“com.android.launcher”进程。注意进程名称一行最后一项多了个/8700,即是之后设置的Port。

进行Debug设置,右键工程->Debug As->Debug Configurations->左侧栏双击Remote Java Application->修改右侧栏Connect标签下配置,Connection Type: Standard(Socket Attach),Connection Properties: Host,localhost; Port,8700->将Common标签下的Debug打钩->继而“Apply”、“Debug”

回到emulator,点击返回键。OK,开始Debug吧^^。

五、后记

玩的开心^^

你可能感兴趣的:(java,安卓调试)