向Eclipse导入linux编译生成的jar包,调试android原生app
Android系统应用程序Eclipse开发环境的搭建
首先,将要修改的应用程序,从alps(源码根路径)\packages\apps目录下拷贝到本地机子上,然后在Eclipse新创建一个Android项目,选择Create project from existing source引进该应用程序,如图:
<!-- [if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:372.75pt; height:169.5pt'> <v:imagedata src="file:///C:\DOCUME~1\zheng.li\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""/></v:shape><![endif]--><!-- [if !vml]--><!-- [endif]-->
一般情况下,只需要将alps(源码根路径)\out\target\common\obj\JAVA_LIBRARIES\路径的下面2个文件夹core_intermediates , framework_intermediates 下的classes.jar文件,分别重命名为core.jar , framework.jar。再将工程默认的android.jar移除,加上这2个jar就可以了。
1) alps\out\target\common\obj\JAVA_LIBRARIES\core_intermediates,把class.jar拷贝出来改名为core.jar
2) alps\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates,同样把class.jar拷贝出来,改名为framework.jar
3) 若需要其它的 jar 包,按 1)2)方法在alps\out\target\common\obj\JAVA_LIBRARIES\找到相应的jar包导入到项目中
3) 在 eclipse 里面添加一个新的 userlibrary. 如名字为 android-lib(可以自己命名)
4) 把这个 android-lib 设置为 system library.并把 core.jar 和 framework.jar 添加到这个 android-lib 里面。
5) 在您工程里面把原来的 android library:android2.1-update1 或者如 android2.2 移除掉,然后把新的 android-lib 添加到您的工程。
6) Enjoy debugging.
如果还有找不到的类,可以先看这个类是在哪定义的,再到alps\out\target\common\obj\目录下的APPS或JAVA_LIBRARIES两个目录下搜索所要的类,然后将搜索到的类引到项目中。特别需要注意EventLogTags.java这个文件,该文件是系统编译时生成的,每个应用都会对应不同的EventLogTags.java,因此要保证所找到文件是该项目所需要的文件。
对于.aidl文件的处理:一般.aidl文件报错的原因是在引进其他.aidl文件的时候找不到对应的aidl文件,这种情况只需将相应的aidl文件拷贝到项目下面并相应的在src下面创建该aidl文件相应的包名,并将该aidl文件移到新建的包里面。