Hai*_*imS 37 api debugging android android-studio
我正在调试Android Studio(AS)1.0.2,并在build.gradle中设置了compileSdkVersion 21.使用带有API 21的模拟器时,一切正常.在具有API 19的设备上进行调试时会出现此问题.调用堆栈中的每一行(在AS中标记为"帧")正确显示与API 19匹配的函数名称,源文件和行号.但是,当我单击一个时与其中一个框架源(例如Activity.java)对应的行,AS错误地打开并显示文件的API 21版本而不是API 19版本.
在我的android sdk文件夹中,我有./sources/android-19和./sources/android-21
知道为什么AS显示错误的文件版本?
我试过的事情(按顺序):
总而言之,当单击调用堆栈中的一行时,AS将打开由compileSdkVersion表示的文件版本,而不是调试会话期间设备/仿真器使用的版本.
通过这里的工作解决方案回答:
全部内容:
我使用appcompat支持库非常多.更改compileSdkVersion只会导致大量编译错误.如果您使用的是appcompat-21,则必须针对api 21进行编译,否则您将收到编译错误.
如果您正在针对版本21进行调试,这可以正常工作.但是当您在Jelly Bean(API 17)上进行调试时,您的调试器会不断将您转到API 21源.非常讨厌,很难调试.
我最终使用的解决方案非常hacky但有效!假设您正在尝试针对API 17进行调试.请执行以下操作:
只是不要忘记在完成后放回所有目录.
这是关于此问题的Android工作室错误报告:https: //code.google.com/p/android/issues/detail?id = 183976
在 Intellij Idea(基于它的 Android Studio)中打开您的项目并选择File -> Project Structure.... 在项目设置中选择“项目 SDK”到您需要调试的版本,并为所有项目模块选择“项目 SDK”作为模块 SDK。之后,您可以将调试连接附加到您的设备/模拟器并查看正确的 Android 源代码。
您不需要在 Intellij Idea 中构建项目。
| 归档时间: |
|
| 查看次数: |
4901 次 |
| 最近记录: |