专栏首页Android开发者家园关于Support库28及以上版本无法查看源码问题

关于Support库28及以上版本无法查看源码问题

不知道大家有没有注意到这么个问题:

在最新创建项目的时候,有了 User androidx.* artifacts 这样一个选项。可能你还不知道 androidx 的意思,可以这样理解,androidx 代替了之前的一系列的 support 库。如果你选择了 androidx 就表示在你新创建的项目里面使用的支持库就是 androidx 了而不是之前我们用的 support 类型的支持库了。

假设这里不勾选那么就说明我们依然使用之前的 android.support.* 这种类型的支持库,比如implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' 等等。

这个时候你新建的项目如果编译的时候用的 api 28,也就是在build.gradle 中是 compileSdkVersion 28 这个是你会发现,当你查看 support 库中的代码的时候没法看了,变成下面这样了

没法看源码了,只能看到 .class 了。这是因为:

在 Android 28.0.0 已经没有给 Support Library 28.0.0 提供源码查看了,即便我们使用了 Android 28 进行编译项目,用了 Support Library 28.0.0,这个时候当你查看 Support Library 中的类的时候会发现无法查看源码,看到的只是 xxx.class 。这是因为在 Android9.0(API 级别 28)发布后,新版本支持库 AndroidX 随之诞生了,它属于 JetPack,除了包含了原先支持库中的内容,还包含了最新的 JetPack 组件。

在使用 api 28 的时候我们仍然可以继续使用支持库,不过所有的新库的开发都在 androidx 中进行了,因此我们是看不到源码的(之前的版本是可以看到源码的),Google 建议所有的新项目使用 androidx 库。

因此解决方案

拥抱 androidx 库,这也是 Google 所推荐的

另外一个方法就是使用 28 以下的版本来进行编译:比如:

  compileSdkVersion 26
  dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

这样是仍然可以查看 support 中类的源代码的。

本文分享自微信公众号 - Android开发者家园(Android_De_Home),作者:sydMobile

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android 矢量图详解

    关于 Vector,在官方开发指南中介绍。本文章是由个人翻译官方指南然后添加个人理解完成。

    开发者
  • 从0系统学Android--3.7 聊天界面编写

    Nine-Patch 是一种被特殊处理的 .png图片,能够指定那些区域可以被拉伸,那些区域不可以。

    开发者
  • 这些Android系统样式中的颜色属性你知道吗?

    推荐阅读看完后彻底搞清楚Android中的 Attr 、 Style 、Theme

    开发者
  • Android Studio对ndk开发调试的支持前言支持版本对ndk-build的支持对CMake的支持

    编写C/C++代码最大的痛苦就是语法提示和调试,早期Android Studio对NDK不做支持或者支持得不够好,导致NDK开发异常缓慢,最大的问题是调试,经常...

    用户2930595
  • Python数据可视化:浅谈数据分析岗

    讲道理,pyspider确实是一款优秀的爬虫框架,我们可以利用它快速方便地实现一个页面的抓取。

    sergiojune
  • iOS常用的正则表达式(持续更新)

    傅_hc
  • Python数据可视化:浅谈数据分析岗

    讲道理,pyspider确实是一款优秀的爬虫框架,我们可以利用它快速方便地实现一个页面的抓取。

    数据森麟
  • MongoDB初学

    参考:MongoDB 教程 | 菜鸟教程 安装 1.下载安装,从官网下载winows安装包,安装到d盘(注意路径) 2.由于我安装在d盘,所以在d盘创建文件夹d...

    Ryan-Miao
  • RT-Thread编程高阶用法-函数扩展之$Sub$$与$Super$$

    前面移植了RT-Thread Nano,其实准确来说那不叫移植,那叫做部署,因为移植的工作官方已经帮我们做好了。

    morixinguan
  • Android开发笔记(一百七十二)第二代翻页视图ViewPager2

    正如RecyclerView横空出世取代ListView和GridView那样,Android也推出了二代翻页视图ViewPager2,打算替换原来的翻页视图V...

    用户4464237

扫码关注云+社区

领取腾讯云代金券