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.
- ¿Cuál es la buena estrategia cuando se trata de Proguard, MultiDex, Testing y Product Flavors?
- ¿Qué es android multidex?
- Demasiadas referencias de métodos en el proyecto de biblioteca de android - ClassNotFoundException
- Ejecución de un Espresso Multidexed .APK
- Com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
- La prueba de instrumentación falla al azar con multidexado activado
- Conmutación entre configuraciones de ejecución de dos módulos sin Clean cuando uno de ellos utiliza Multidex
- Android Studio: ¿Por qué estoy recibiendo un error multi dex en el nuevo proyecto API de Google Maps?
- ¿Puedo activar multidex en la compilación de depuración de Android solamente?
- Android Studio 1.3 error multidex en gradle
- No se puede instalar mi aplicación recientemente lanzada: Código de error: -504
- Error de ejecución para la tarea ': packageAllDebugClassesForMultiDex'
- La ejecución falló para la tarea ': app: shrinkReleaseMultiDexComponents'
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 .
- Tablet Android 7 '(800×480): relación de aspecto incorrecta, los círculos parecen elipses
- ¿Detecta el arrastre de dedos con Javascript en teléfonos táctiles?