相关疑难解决方法(0)

在使用旧API的设备上调试时,Android studio会显示来自compileSdkVersion的API的源代码

我正在调试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显示错误的文件版本?

我试过的事情(按顺序):

  • 重置Android Studio(删除〜/ .AndroidStudio*)
  • 将Android Studio更新到最新版本
  • 使用API​​ 21在AS模拟器上运行 - AS显示文件的正确版本(21).
  • 将compileSdkVersion更改为19并在API 19设备上运行 - AS在调用堆栈中显示正确的行号,并在正确的行中打开文件的正确版本(API 19).
  • 将compileSdkVersion更改为19并在API 21仿真器上运行 - AS在调用堆栈中显示与API 21对应的行号(在我看来这是正确的行为),但是,当单击它时,AS错误地打开了API 19版本的文件而不是API 21版本.

总而言之,当单击调用堆栈中的一行时,AS将打开由compileSdkVersion表示的文件版本,而不是调试会话期间设备/仿真器使用的版本.

api debugging android android-studio

37
推荐指数
2
解决办法
4901
查看次数

Android Studio步入错误的sdk源

我有以下build.gradle设置.

compileSdkVersion 21
buildToolsVersion '21.1.1'

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 21
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我在KitKat设备(Genymotion或Device上的19)上进入Android SDK源时,它仍然坚持步入Android-21源而不是19.

更改上述任何设置只会破坏我的应用程序的编译,因为我有v21代码.所有19调用适当的保护和代码工作在19,只是源代码衔接不正确.

提前干杯Stack Overflow兄弟姐妹们!

debugging android android-studio

37
推荐指数
3
解决办法
8031
查看次数

标签 统计

android ×2

android-studio ×2

debugging ×2

api ×1