我们经常会遇到这样的问题:
我们想在eclipse里的android工程中使用存在于android开源代码中的某个类,但是这个类却不包含在android sdk中。
怎么办呢?难道我们的开发就要限制于sdk公开的类中?答案肯定是否定的,聪明的鱼告诉你一个解决办法:
1、首先准备好你要使用的类,例如:我使用想ServiceManager类。我做了以下准备工作:
a、make android 源码
b、查找与ServiceManager有关的class文件 find -name ServiceManager*.class
c、我找到了ServiceManager.class文件(这里要注意,和ServiceManager相关的内部类也要包括进来,由于ServiceManager没有内部类,因此就只有ServiceManager.class这一个文件)。
2、找到你的android工程使用的sdk platform。
a、为什么要找呢?因为我们要找到android.jar这个文件,这个文件和你工程的编译相关,很多类都是在这个文件里找到的。
b、怎么找呢?查看你工程的属性->Java Build Path->Libraries,这里我看到的是Android 2.3.3,展开,就看到android.jar的路径了。这个文件实际上都是在“你的android sdk路径/platforms/你的工程所属的api level文件夹”下,很好找的。
3、添加我们准备好的类到android.jar里面。
a、用WinRAR打开android.jar文件。相信这个软件很多人都有吧。
b、打开对应的目录,将你的类添加进去。我的ServiceManager应该添加到Android/os/文件夹下,于是我在WinRAR中打开这个文件夹,把ServiceManager.class文件托进去,此时弹出一个WinRAR压缩设置的对话框,这里要特别注意, 我们应该设置压缩方式为“存储”,然后点击确定,ServiceManager.class就添加进去了。
做完以上工作以后,重启你的eclipse,然后就可以使用这个类了。祝你成功,有疑问可以给我留言。
转:
——忠于梦想 勇于实践 linux_xpj@opencores.org
阅读(3830) | 评论(1) | 转发(0) |