一般有個兩個方法:

第一、反射方法

 

反射:http://www.blogjava.net/zh-weir/archive/2011/03/26/347063.html

发现android.os.ServiceManager自1.6开始即从api中隐藏掉了,但通过这种方法可以调用。

Object obj = new Object();
Method method = Class.forName("android.os.ServiceManager").getMethod("getService", String.class);
System.out.println(method.invoke(obj, "phone"));

 

第二 、使用没有隐藏的Android sdk 。

http://www.cnblogs.com/xirihanlin/archive/2011/06/05/2073119.html

上面的文章在用的时候,遇见一个问题,就是在添加了 jar包之后 ,还不行,最后 下面的步骤中的 7 之后的 就没用了 。

1. 选择你的目标平台X

2. 创建目标平台X的模拟器

3. 启动模拟器,下载/system/framework/framework.jar

4. 重命名framework.jar -> framework.zip

5. 从framework.zip中抽取classes.dex

6. 使用dex2jar工具,将其转换成classes.jar

7. 重命名classes.jar -> framework-classes.zip

8. 拷贝android.jar –> custom-android.zip

9. 解压custom-android.zip至custom-android文件夹

10. 将framework-classes.zip中所有文件拷贝至custom-android文件夹(覆盖存在的文件)

11. 压缩custom-android文件夹成original-android.zip

12. 重命名original-android.zip -> original-android.jar

打完收功。

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()