使用Android隐藏类和隐藏方法

[来源] 达内    [编辑] 达内   [时间]2012-10-16

某些方法,成员,类或包(通过package.html文件)被打上@hide标签,这些类、方法或成员在SDK中没有公开,比如类android.app.ActivityThread,类android.text.method.

  在Android源码中,某些方法,成员,类或包(通过package.html文件)被打上@hide标签,这些类、方法或成员在SDK中没有公开,比如类android.app.ActivityThread,类android.text.method.Touch的getMaxScrollX()方法,类android.view.View的成员mScrollX等。因此在使用这些类时会提示类或成员不能被解决。下面提供一种方法解决这个问题。

  首先,下载Android源码进行编译。然后在编译后的out目录下寻找包含你所用隐藏类的模块的jar文件,通常文件名为classes.jar。比如framework的jar文件为out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar。最后在eclipse的Androi d项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> User Libraries进入到User Libraries管理界面,点击New新建一个User Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。为了访问因此成员,需要改变类搜索顺序,选择项目属性->Java Build Path->Order and Export,把所建立的User Libraries移到Android SDK的上面。

资源下载