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

    我们使用Eclipse进行android开发时,使用的是ADT中提供的SDK,里面是不包含@hide函数和变量的。因为android为了兼容、安全等原因,在提供SDK时,把这些函数给隐藏了。但是,很多时候,我们又需要使用这些函数,因此我们需要手动添加android SDK。例如,当我们使用AudioManager时,当需要看某种streamType是否mute时,可以调用isStreamMute(int streamType)这个方法,但是因为它是@hide的,所以我们就需要引入自己的sdk,才能编译通过。

  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。

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

    在Eclipse中使用SDK中的@hide函数_第1张图片

  3. 点击Order and Export,将framework.jar 置顶

    在Eclipse中使用SDK中的@hide函数_第2张图片

  4. 现在,我们就可以使用AudioManager中的isStreamMute(int streamType)方法了

    









你可能感兴趣的:(在Eclipse中使用SDK中的@hide函数)