android studio关联源码

android studio源码问题

android studio按Ctrl看相关的源码的时候,会出现下面这个情况: 只有方法名,和抛出的异常信息,其他的什么也没有,上图:

not found

提示信息如下:

Decompiled .class file,bytecode version:52.0(java8)

Sources for ‘Android API 24 Platform’ not found

我英语不好,看不懂什么意思于是用有道查了个别的单词,decompiled的意思是反编译,之前记得在那看过studio是自带反编译class文件的,下一行提示的是找不到android api 24版本的sources文件,后来百度了一下,打开android SDK Manager 后看到我明明下载了好多源码啊, 图片如下

API22 5.1.1
API 23 6.0
API 23 N
API 24

细心的人可能已经发现了,我的sdk里面是有源码的,而且是23 N和24的没有,其他的是都有的,于是,便觉得不是这可能和设置有关,因为我并没有设置他的编译版本,可能是android studio默认选择最高的SDK版本吧,这里我的最高是24,刚好没有sources文件,所以studio自动的就把java反编译了一下,就看到第一张图中所见的情况##既然这样就直接把当前默认的版本修改为有sources文件所对应的API就OK了,于是,找到包设置,我这里的SDK都下载了所以只要改成API 23(和API 23 preview N 不一样)或者以下就ok,具体的方法,如下图

project structure

当然点击后面提示的快捷键Ctrl+Alt+Shift+S也是可以的

找到你的项目名称,选择有sources的API版本

app

选择好点击OK后,等下面的进度条重新构建完成后就OK了,再次打开如下

打开

这样就可以完整的看到源码了

知道原因后就明白怎么改了,当然只是一种方法,还可以用下面的另一种方法

android studio和eclipse的区别,由于我也是刚接触,不太了解引用一下大神的看法点击跳转查看详情

刚接触android studio的时候总是被他的gradle文件搞的不知所措…..用过的人都深有体会~~~~

简单从百度上引用的百科说明: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。不明白的自行百度

也就是说, android studio中不在完全依赖xml来配置工程的一些属性,而是采用了gradle的方式进行构建,打开任意的项目会发现有好多.gradle文件,有一下几种

  1. build.gradle(Project:name)
  2. build.gradle(Module: name)
  3. setting.gradle(Project: Setting)

注:这里的name是你对应的Project或者Module的名字

也就是gradle里面保存着项目的信息,打开我的gradle如下图:

gradle

这里有个compileSDKVersion 23, 没错这里就是默认的编译版本, 把这里的该为有sources文件对应的SDK版本就OK了, 修改后,别忘重新构建一下工程

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值