在应用开发过程中,可能会需要使用到系统的方法,比如:SystemProperties
以及系统隐藏hide的方法和类,比如:Android 4.2中的 Surface.screenshot(x,y)
方法是隐藏的, Android 4.3后面上面的那个方法变成了SurfaceControl.screenshot(x,y)
并且SurfaceControl
这个类也变成了隐藏的了。那么要直接在eclipse或者android studio 中怎么弄呢?下面教大家方法:
out\target\common\obj\JAVA_LIBRARIES\framework_intermediates
下面有个classes.jar
的文件,我们就需要这个jar文件。android
文件夹和META_INF
文件夹,android.jar
,比如:sdk\platforms\android-19\android.jar
,将其放在某个文件夹下面解压。解压后会得到很多个文件夹,包括:android,java,com,javax,org,META_INF
等文件夹以及resources.arsc
文件。classes.jar
解压出来的android文件夹下面的所有文件,复制到android.jar
解压出来的android文件夹里面,并覆盖相同文件名的文件及文件夹。其实你注意上面的两个android文件夹内容大致一样。jar cvfm android.jar META-INF/MANIFEST.MF ./
。如果找不到jar,请先配置环境变量。接着就看到这个打包的详细信息在控制台输出。关于jar的详细命令参数请看这里jar命令详解android.jar
文件了,然后在把得到的jar文件解压看看是否和原来的结构一直,不要多打包一层文件目录哟,不然肯定没办法用的,如果正确的话,将替换我们sdk中的android.jar
文件。例如替换:sdk\platforms\android-19\android.jar
文件。SurfaceControl
看看系统是否会提示我们导入SurfaceControl
包,注意4.3以上才有SurfaceControl
哟,如果没有则看看检测上面哪一步是否出错了。classes.jar
文件是正确的,有的系统打包的classes默认是在classes.odex中,如果解压出来没有android文件夹基本就是这个问题了。classes.jar
解压出来的android文件夹完全覆盖android.jar
解压出来的android文件夹下面的内容。因为隐藏的方法都是在classes.jar
解压出来的android文件夹下面。android.jar
大小有20M左右。原文地址:http://blog.csdn.net/wx_962464/article/details/44786953