Android Studio Lint – establece el nivel de API para la pelusa

Aquí está la cosa. Tengo una aplicación que es compatible con API 15 y superior, pero ya que es bastante grande y ya he golpeado un límite de métodos de 65k, tuve que hacer que sea un descendiente de la clase MultiDexApplication. Esto ralentiza un poco los tiempos de construcción, por lo que tuve que implementar alguna optimización para acelerar el proceso. Tengo el código siguiente en mi manifiesto, que reduce perceptiblemente tiempos de la estructura al construir para el API> = 21 (tomado de algún otro subproceso):

productFlavors { dev { minSdkVersion 21 } prod { minSdkVersion 15 } } 

Todo funciona perfectamente, pero el problema es que durante el desarrollo, Android studio piensa que mi nivel de SDK de minSdkVersion es 21 (correctamente), y la pelusa no me muestra API incompatible (15-21). Lo que realmente quiero es poder construir con minSdkVersion establecido en 21 (compilación rápida), pero establecer el "lint minSdkVersion" a 15, así que veo las partes del código que no son compatibles con la API más antigua de 21. He intentado Para google y también para buscar en las preferencias de pelusa de AS, pero no encontré nada útil. Gracias por cualquier sugerencia. Mi solución actual es cambiar minSdkVersion en dev sabor a 21 y comprobar si hay algún error, pero esto no es realmente lo que quiero.

Esta esencia responde a su pregunta. Muestra cómo construir el proyecto con cualquier valor dev SDK mínimo, manteniendo al mismo tiempo el valor SDK mínimo de producción para avisos Lint.

Para resumir la publicación, puede calcular dinámicamente el valor de minSdkVersion :

 int minSdk = hasProperty('devMinSdk') ? devMinSdk.toInteger() : 15 apply plugin: 'com.android.application' android { ... defaultConfig { minSdkVersion minSdk ... } } 

En este ejemplo, estamos comprobando si la propiedad devMinSdk definida, y si es verdad, lo estamos utilizando. De lo contrario, el valor predeterminado es 15.

¿Cómo pasar devMinSdk valor para construir la secuencia de comandos? Dos opciones:

Uso de la línea de comandos:

 ./gradlew installDebug -PdevMinSdk=21 

Uso de las preferencias de Android Studio:

Vaya a Preferencias ( Configuración en Windows) -> Construcción, Ejecución, Implementación -> Compilador -> poner -PdevMinSdk=21 en el cuadro de texto Opciones de línea de comandos .

Opciones de compilador de Android Studio

  • DexIndexOverflowException: No se puede combinar el nuevo índice 65772 en una instrucción no jumbo !: Jumbo Mode? Y / o Multi-Dex? ¿Qué hay detrás de la escena?
  • Habilitar Soporte MultiDex en Android para lograr métodos de 65K + en Eclipse
  • Actualización de Android Studio a 1.0 corrompe MultiDex
  • Xamarin Android con multidex - error en modo de depuración
  • Error: Error de ejecución para la tarea ': app: transformClassesWithDexForDebug'
  • Error: Se encontró un problema con la configuración de task collectDebugMultiDexComponents
  • Error: Error de ejecución para la tarea ': app: shrinkReleaseMultiDexComponents'
  • Multidex con Android 2.3 (API 9)
  • INSTALL_FAILED_DEXOPT Error en Android 5.0 en modo de liberación
  • VerifyError en la aplicación multidex al inyectar dependencia con Dagger
  • Android: SugarORM y multidex
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.