官方网站:
This document will help you set up the Eclipse IDE for Android platform development.
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 the Eclipse page on developer.android.com more useful.
First, it's important to make sure the regular Android development system is set up.
cd /path/to/android/root
make
Important: 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.
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.
cd /path/to/android/root
cp development/ide/eclipse/.classpath .
chmod u+w .classpath
Now edit that copy of .classpath
, if necessary.
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 theeclipse.ini
file. On Apple OSX the eclipse.ini file is located at
/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini
Memory-related defaults (as of Eclipse 3.4):
-Xms40m
-Xmx256m
-XX:MaxPermSize=256m
Recommended settings for Android development:
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
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.
Now start Eclipse:
eclipse
Now create a project for Android development:
If Eclipse asks you for a workspace location, choose the default.
If you have a "Welcome" screen, close it to reveal the Java perspective.
File > New > Java Project
Pick a project name, "android" or anything you like.
Select "Create project from existing source", enter the path to your Android root directory, and click Finish.
Wait while it sets up the project. (You'll see a subtle progress meter in the lower right corner.)
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.
Note: 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.
Every time you repo sync, or otherwise change files outside of Eclipse (especially the .classpath), you need to refresh Eclipse's view of things:
Window > Show View > Navigator
In the Navigator, right-click on the project name
Click Refresh in the context menu
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:
Project > Properties
Select "Java Build Path" from the left-hand menu.
Choose the "Source" tab.
Click "Add Folder..."
Add your app's src
directory.
Click OK.
When you're done, the "source folder" path in the list should look like
android/packages/apps/YOURAPP/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.
You can import files in development/ide/eclipse
to make Eclipse follow the Android style rules.
Select Window > Preferences > Java > Code Style.
Use Formatter > Import to import android-formatting.xml
.
Organize Imports > Import to import android.importorder
.
You can also use eclipse to debug the emulator and step through code. First, start the emulator running:
cd /path/to/android/root
. build/envsetup.sh
lunch 1
make
emulator
If the emulator is running, you should see a picture of a phone.
In another shell, start DDMS (the Dalvik debug manager):
cd /path/to/android/root
ddms
You should see a splufty debugging console.
Now, in eclipse, you can attach to the emulator:
Run > Open Debug Dialog...
Right-click "Remote Java Application", select "New".
Pick a name, i.e. "android-debug" or anything you like.
Set the "Project" to your project name.
Keep the Host set to "localhost", but change Port to 8700.
Click the "Debug" button and you should be all set.
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.
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.
Replace Ctrl with the Apple key on Mac.
shortcut | function |
---|---|
Ctrl-Shift-o | Organize imports |
Ctrl-Shift-t | load class by name |
Ctrl-Shift-r | load non-class resource by name |
Ctrl-1 | quick fix |
Ctrl-e | Recently viewed files |
Ctrl-space | auto complete |
Shift-Alt-r | refactor:rename |
Shift-Alt-v | refactor:move |
Make sure:
You followed the instructions on this page precisely.
Your Problems view doesn't show any errors.
Your application respects the package/directory structure.
If you're still having problems, please contact one of the Android mailing lists or IRC channels.
1、建立基本的android开发环境
请参考官方文档或<android模拟器在ubuntu8.10的安装>
2、编译android源码
android源码根目录下通过make进行编译,请注意一些配置,具体可参考<android源码的编译>
3、把eclipse工程配置文件复制到android源码根目录下
cp development/ide/eclipse/.classpath ./
chmod u+w .classpath # Make the copy writable
4、修改eclipse程序的配置
1)、修改eclipse缓存设置
把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
2)、把android-formatting.xml和android.importorder导入eclipse
android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下
android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的顺序和结构。
在window->preferences->java->Code style->Formatter中导入android-formatting.xml
在window->preferences->java->Code style->Organize Imports中导入android.importorder
3)、安装anyedit插件(可选)
在http://andrei.gmxhome.de/anyedit/下载并导入eclipse中
5、把android源码作为一个工程导入eclipse
导入前先检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹),.classpath里多余的路径可删除
新建Java Project(不是android project,否则会破坏android源码),选择从已存在的工程导入,工程名任意,完成。
导入时,eclipse要build工程,比较慢。导完后,一般都没有错误。
6、eclipse上调试android里的程序。
先执行:
cd android源码目录
. build/envsetup.sh
lunch 1 # to build the emulator
emulator & # you should see a GUI picture of a phone
ddms & # you should get a splufty debugging console
然后在eclipse中配置调试类型和端口:
在Run->Debug Configurations->Remote java application上双击,然后,”Host:”设为localhost,”Port:”设为8700,”Connection Type”为Standard(Socket Attach)
然后“Apply”
注意,在点击”Debug”时苦出错,说8700端口被占用,那么把DDMS程序关掉,重新打开DDMS就OK了。如果提供连不到VM错误时,请注意,要先在DDMS中选中某一进程(对应某一应用程序),才能在eclipse执行 Debug。
在eclipse调试时,可以设断点、单步调试。估计google团队也是这样开发、调试android应用程序的
7、编译android源码
执行:
cd android源码目录
. build/envsetup.sh
那么就会多出mm/mmm等命令,mm/mmm用来编译模块(包括C、C++、JAVA程序)。我们也可以直接在 android源码根目录下执行“make 模块名”来编译模块。