android studio关联源码
2016-06-26 20:05
281 查看
android studio源码问题
android studio按Ctrl看相关的源码的时候,会出现下面这个情况: 只有方法名,和抛出的异常信息,其他的什么也没有,上图:
![](http://i.imgur.com/YGcZRHn.png)
提示信息如下:
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 后看到我明明下载了好多源码啊, 图片如下
![](http://i.imgur.com/ziAxobX.png)
![](http://i.imgur.com/Gwzxwlt.png)
![](http://i.imgur.com/HnIEhHB.png)
![](http://i.imgur.com/LnBrAxF.png)
细心的人可能已经发现了,我的sdk里面是有源码的,而且是23 N和24的没有,其他的是都有的,于是,便觉得不是这可能和设置有关,因为我并没有设置他的编译版本,可能是android studio默认选择最高的SDK版本吧,这里我的最高是24,刚好没有sources文件,所以studio自动的就把java反编译了一下,就看到第一张图中所见的情况##既然这样就直接把当前默认的版本修改为有sources文件所对应的API就OK了,于是,找到包设置,我这里的SDK都下载了所以只要改成API 23(和API 23 preview N 不一样)或者以下就ok,具体的方法,如下图
![](http://i.imgur.com/hG6S057.png)
当然点击后面提示的快捷键Ctrl+Alt+Shift+S也是可以的
找到你的项目名称,选择有sources的API版本
![](http://i.imgur.com/vcRTlC9.png)
选择好点击OK后,等下面的进度条重新构建完成后就OK了,再次打开如下
![](http://i.imgur.com/4r0F9gO.png)
这样就可以完整的看到源码了
知道原因后就明白怎么改了,当然只是一种方法,还可以用下面的另一种方法
android studio和eclipse的区别,由于我也是刚接触,不太了解引用一下大神的看法点击跳转查看详情
刚接触android studio的时候总是被他的gradle文件搞的不知所措…..用过的人都深有体会~~~~
简单从百度上引用的百科说明: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。不明白的自行百度
也就是说, android studio中不在完全依赖xml来配置工程的一些属性,而是采用了gradle的方式进行构建,打开任意的项目会发现有好多.gradle文件,有一下几种
build.gradle(Project:name)build.gradle(Module: name)
setting.gradle(Project: Setting)
注:这里的name是你对应的Project或者Module的名字
也就是gradle里面保存着项目的信息,打开我的gradle如下图:
![](http://i.imgur.com/bYjGMC9.png)
这里有个compileSDKVersion 23, 没错这里就是默认的编译版本, 把这里的该为有sources文件对应的SDK版本就OK了, 修改后,别忘重新构建一下工程
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories