在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的Android项目中,选择项目属性->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的上面。