美文网首页
Android 关于查看内部internal api

Android 关于查看内部internal api

作者: 水言 | 来源:发表于2017-08-09 10:41 被阅读172次

    在查看源码的时候,发现部分源码是红色的,无法查看,比如:

    部分代码无法查看

    这个PhoneWindow的全称是:com.android.internal.policy.PhoneWindow;
    无法查看这个类的具体内容,出于好奇,就直接去本地sdk的源码下查看:

    MT4KE784P(KX_6F50LF6AO8.png

    发现这个类是有的,那打不开的原因是什么?
    一开始考虑是不是环境配置什么的有问题,于是去百度。
    百度到的结果都是关于:
    Android Studio 查看不到SDK源码解决办法

    于是,打开本地的对应的配置文件,我本地用的是:compileSdkVersion 25
    所以对应的配置如下:

        <jdk version="2">
          <name value="Android API 25 Platform" />
          <type value="Android SDK" />
          <version value="java version &quot;1.8.0_76-release&quot;" />
          <homePath value="D:\AndroidStudio\sdk" />
          <roots>
            <annotationsPath>
              <root type="composite">
                <root type="simple" url="jar://$APPLICATION_HOME_DIR$/plugins/android/lib/androidAnnotations.jar!/" />
              </root>
            </annotationsPath>
            <classPath>
              <root type="composite">
                <root type="simple" url="jar://D:/AndroidStudio/sdk/platforms/android-25/android.jar!/" />
                <root type="simple" url="file://D:/AndroidStudio/sdk/platforms/android-25/data/res" />
              </root>
            </classPath>
            <javadocPath>
              <root type="composite">
                <root type="simple" url="file://D:/AndroidStudio/sdk/docs/reference" />
              </root>
            </javadocPath>
            <sourcePath>
              <root type="composite">
                <root type="simple" url="file://D:/AndroidStudio/sdk/sources/android-25" />
              </root>
            </sourcePath>
          </roots>
          <additional jdk="1.8" sdk="android-25" />
        </jdk>
    

    如上文百度的博客所说,没有问题,那就奇怪了。

    接着查看发现查资料发现internal对应的是内部api,的确是不向开发者开放的。
    在确保本地sdk中已经下载了对应的源码情况下:
    1.我们可以去本地直接查看,好吧这个比较傻。
    2.你也可以按两下Shift ,打开Search EveryWhere 通过它可以打开这些internal的类 。

    普通开发当然是不需要用到内部api,但是你强行要在项目中使用internal的那些api可以参考:
    使用内部(com.android.internal)和隐藏(@hide)API

    参考:
    http://blog.csdn.net/zxw136511485/article/details/53018549
    http://blog.csdn.net/fwt336/article/details/53465832

    相关文章

      网友评论

          本文标题:Android 关于查看内部internal api

          本文链接:https://www.haomeiwen.com/subject/rvjfrxtx.html