Android Studio entra en la fuente incorrecta de sdk

Tengo la siguiente configuración build.gradle.

compileSdkVersion 21 buildToolsVersion '21.1.1' defaultConfig { minSdkVersion 18 targetSdkVersion 21 } 

El problema es que cuando paso a la fuente de SDK de Android en un dispositivo de KitKat (19 en Genymotion o Dispositivo), todavía insiste en entrar en la fuente de Android-21 en lugar de 19.

Cambiar cualquiera de los ajustes anteriores simplemente rompe la compilación de mi aplicación, ya que tengo código v21. Todas las 19 llamadas están protegidas correctamente y el código funciona en 19, sólo el vínculo de código fuente es incorrecto.

Saludos por adelantado Stack Overflow hermanos y hermanas!

Editar (7/1/2016):
Android Studio 2.2 lo corrige y saltará a fuentes de nivel de API que correspondan al dispositivo en el que estás ejecutando (siempre y cuando tengas esas fuentes instaladas). Se anunció aquí .


La solución siguiente funcionó para mí:

  1. Compile la aplicación sin ningún cambio.
  2. Inicie la aplicación en modo de depuración (y, opcionalmente, romper en punto de interrupción).
  3. Vaya a File > Project Structure , busque el módulo de la app (y / o opcionalmente, cualquier otro módulo) y cambie la Compile Sdk Version a una que coincida con el dispositivo que está depurando (es decir, 19).
  4. Paso en el marco de código – que debe entrar en SDK 19 fuentes.

¿Qué sucede si intenta depurar en la fuente en un emulador que está ejecutando una imagen de Android 5.0.x Lollipop? ¿Resalta la fuente correcta? He estado luchando con esto también, y llegué a la conclusión de que el problema se debe a las personalizaciones a la fuente de Android por el proveedor de hardware.

He estado intentando caminar a través del código de fuente androide en un dispositivo del samsung que funciona 4.4.2 KitKat. Algunos archivos alinean bien, algunos están apagados por algunas líneas, y el resto es manera de whack. Instrumentation.java es uno en el que me encuentro rutinariamente. Está apagado por 5 líneas o algo así.

Entonces, ¿por qué creo que el proveedor personalizó la fuente de Android? Pasé a través del inicio de la aplicación en ActivityThread.java e Instrumentation.java. El depurador seguirá paso correctamente aunque el origen no se alinean. Cruzé referenciado la rutina que estaba en código fuente android en grepcode.com. Eventualmente veo el paso del depurador en una llamada de función que no está presente en ninguna versión del archivo java publicado en grepcode.

Aquí hay un ejemplo específico: ActivityThread.HandleLaunchActivity. He presenciado el depurador hacer estas llamadas

 unscheduleGcIdler : present in android source intent.getWindowStyle : not present. Samsung customization? handleConfigurationChanged : present 

Si estoy en lo cierto, el depurador debe pasar por una imagen emulada correctamente, ya que no contendrá código personalizado del proveedor.

  • ignorando el segundo depurador y la caída del servicio en android
  • Error de inicio: Error al conectarse a la VM remota
  • Android adb wireless / WIFI debug Operación agotada
  • Ambiente de depuración aparentemente inútil para Android
  • Cómo depurar la biblioteca nativa externa en Windows desde Android Studio?
  • Android Studio falta excepción stacktrace en Logcat
  • No se puede ver el valor del parámetro en Android Studio cuando el punto de interrupción está en la primera línea de un método
  • ¿Cómo configurar configuraciones de compilación de Eclipse para producir una aplicación NDK apropiada y debugable?
  • ¿Cómo pausar Eclipse en cualquier excepción?
  • Google Play dice que mi APK construido con Android Studio Build-> Generate Signed APK es debugable
  • Android-maven-plugin: Deshabilitar la compilación de depuración para apk
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.