天天看點

如何使用Android隐藏類和隐藏方法

    在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的上面。