在Eclipse中使用SDK中的@hide函數

    咱們使用Eclipse進行android開發時,使用的是ADT中提供的SDK,裏面是不包含@hide函數和變量的。由於android爲了兼容、安全等緣由,在提供SDK時,把這些函數給隱藏了。可是,不少時候,咱們又須要使用這些函數,所以咱們須要手動添加android SDK。例如,當咱們使用AudioManager時,當須要看某種streamType是否mute時,能夠調用isStreamMute(int streamType)這個方法,可是由於它是@hide的,因此咱們就須要引入本身的sdk,才能編譯經過。android

  1. android系統編譯時,當編譯「include $(BUILD_JAVA_LIBRARY)」時,會在$ANDROID_SOURCE_BASE/out/target/common/obj/JAVA_LIBRARIES生成中間文件,當咱們須要使用某些類庫時,能夠從這裏面找。安全

    isStreamMute(int streamType)在framework.jar中,咱們從out/target/common/obj/JAVA_LIBRARIES/framework_intermediates中,將classes.jar拷貝到本地,並重命名爲framework.jar。eclipse

  2. 在eclipse中右鍵工程->Properties->Java Build Path->Libraries->Add External JARide


  3. 點擊Order and Export,將framework.jar 置頂函數


  4. 如今,咱們就能夠使用AudioManager中的isStreamMute(int streamType)方法了ui

    

相關文章
相關標籤/搜索