Basic setup

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 usingmaketo 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 runmakein 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.classpathfile. 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.

Increase Eclipse's Memory Settings

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.inifile. 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:

  1. If Eclipse asks you for a workspace location, choose the default.

  2. If you have a "Welcome" screen, close it to reveal the Java perspective.

  3. File > New > Java Project

  4. Pick a project name, "android" or anything you like.

  5. Select "Create project from existing source", enter the path to your Android root directory, and click Finish.

  6. 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 animport android.Rstatement 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.

When You Sync

Every time you repo sync, or otherwise change files outside of Eclipse (especially the .classpath), you need to refresh Eclipse's view of things:

  1. Window > Show View > Navigator

  2. In the Navigator, right-click on the project name

  3. Click Refresh in the context menu

Adding Apps to the Build Path

The default.classpathincludes 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:

  1. Project > Properties

  2. Select "Java Build Path" from the left-hand menu.

  3. Choose the "Source" tab.

  4. Click "Add Folder..."

  5. Add your app'ssrcdirectory.

  6. 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 includeothersrc/main/javadirectories underandroid/dalvik/libcore. Do this if you find you cannot build with the default set.

Eclipse formatting

You can import files indevelopment/ide/eclipseto make Eclipse follow the Android style rules.

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

  2. Use Formatter > Import to importandroid-formatting.xml.

  3. Organize Imports > Import to importandroid.importorder.

Debugging the emulator with Eclipse

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:

  1. Run > Open Debug Dialog...

  2. Right-click "Remote Java Application", select "New".

  3. Pick a name, i.e. "android-debug" or anything you like.

  4. Set the "Project" to your project name.

  5. Keep the Host set to "localhost", but change Port to 8700.

  6. 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.

Bonus material

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

Eclipse is not working correctly, what should I do?

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. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 【MySQL】有关登录连接的几个参数(max_con
  2. MySQL中日期转换 FROM_UNIXTIME和UNIX_TI
  3. 一段蛋疼的代码:超不清视频播放器
  4. 【EMCC】 12.1.0.5 OEM server agent 安
  5. MySQL InnoDB 共享表空间和独立表空间
  6. MySQL覆盖索引(Covering Index)
  7. MySQL字符集和校对规则(Collation)
  8. 关于表格(合肥市南门小学五(三)班课程表)
  9. Docker多阶段构建实战(multi-stage build
  10. WireShark 自带工具 editcap 和 text2pca