在Android源码中,某些方法,成员,类或包(通过package.html文件)被打上@hide标签,
这些类、方法或成员在SDK中没有公开,
比如类android.app.ActivityThread,类android.text.method.Touch的getMaxScrollX()方法,类android.view.View的成员mScrollX等。
因此在使用这些类时会提示类或成员不能被解决。下面提供一种方法解决这个问题。
首先,下载Android源码进行编译。然后在编译后的out目录下,寻找包含你所用隐藏类的模块的jar文件,通常文件名为classes.jar。比如framework的为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的上面。