今天需要在eclipse上研究一下android系统下的 packages\apps 应用代码,想利用eclipse 开发工具打开,但发现都没有工程文件,因此就自已做工程文件,其实非常简单。
1、从一个现有创建好的eclipse工作区内找到这两个文件:
.classpath 及 .project
其内容如下:
.classpath 基本上不用修改
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
其实就是一个普通的xml内容描述文件,对于path有两个路径:src 及 gen ,一般的android工程都是这么定义,基本上不用修改,后面的adt是android工程的插件,也不用修改
.project 这里面只需要修改工程名字
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>dtvapp</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
也基本上是标准的android xml描述符,只需要修改
<name>dtvapp</name>
这个中间伯工程名称,即在eclipse下需要显示什么工程名
2、打开工程确认描述是否正确
将以上的两个文件拷到相应的工程根目录,然后通过eclispe的import导出存在的工程即可
工程打开成功后,右键选择属性,切换到最左边的 Android 上:
如果能打开说明配置文件正确
3、编译错误
此时如果编译可能会报类似下面的错误:
[2013-03-04 11:39:09 - Settings] Project has no project.properties file! Edit the project properties to set one.
[2013-03-04 11:40:50 - Settings] Unable to resolve target 'android-14'
很明确,工程下面没有 project.properties 这个文件,新建一个,内容如下:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-16
最后这个target根据你的android选的版本有关,注意这个版本与AndroidManifest.xml中定义的一致:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
以上红字的部分保持一致即可,看编译的提示修改其对应的版本。
4、如何取修改过android版本的jar文件
比如目前android不支持以太网,但在编写应用时需要使用,一种方式是定义同名的空类,另外一种方式就是从android编译系统上拿jar包导入。
这里说采用第二种方式:
一般的路径: out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar
这个 classes.jar 就是系统的jar包,可以在eclipse导入系统库使用。
用法在: http://blog.csdn.net/andyhuabing/article/details/8620743
ok, 经过以上几个步骤基本上就可以在eclipse上使用了。