1

Je suis un peu nouveau sur le développement Android, et je pense que j'ai peut-être fait une erreur. J'ai travaillé avec compileSdkVersion 25 dans mon fichier build.gradle. Mais je veux que mon application soit supportée pour Android 4.1 et supérieur.Quelle est la bonne façon de rétrograder votre application Android?

Cependant, lorsque j'exécute mon application sur un système Android 4.1, il s'arrête immédiatement (je suppose que ce n'est pas supporté).

J'ai essayé de changer le compileSdkVersion 25 en compileSdkVersion 16, mais cela va donner beaucoup d'erreurs (et je sais pourquoi). Il est un peu gênant pour commencer à changer chaque petite chose qui est pas pris en charge dans Android 4.1, donc ..

Question: Quelle est la bonne façon de déclasser votre application Android?

build.gradle actuel:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "xxxx" 
     minSdkVersion 16 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "") 
     multiDexEnabled true 
     useLibrary 'org.apache.http.legacy' 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.2.0' 
    compile 'com.google.android.gms:play-services:9.8.0' 
    compile 'com.google.firebase:firebase-core:9.8.0' 

    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:design:25.2.0' 
    compile 'com.android.support.constraint:constraint-layout:1.0.1' 
} 
+1

Les erreurs sont probablement causées par des codes incompatibles de la version supérieure. Vous devrez peut-être utiliser des codes rétrocompatibles à l'aide de bibliothèques de support. – Enzokie

+0

@Enzokie Oui, je le sais, mais j'essaie de trouver un moyen simple de le faire. – Guido

+0

* C'est un peu ennuyeux de commencer à changer tout ce qui n'est pas supporté par Android 4.1 * ça craint, mais vous n'avez pas d'autre option –

Répondre

1

J'ai travaillé avec compileSdkVersion 25 dans mon fichier build.gradle. Mais je veux que mon application soit supportée pour Android 4.1 et supérieur.

Faites attention.
compileSdkVersion est la version du SDK Android pour compiler votre application avec et ne change pas le comportement d'exécution depuis votre compileSdkVersionne sont pas inclus dans votre APK.
Il est fortement recommandé de toujours compiler avec le dernier SDK.
Cela signifie également que l'utilisation de compileSdk = 16 ne vous aide pas.

Question: Quelle est la bonne façon de rétrograder votre application Android?

Si la question est de savoir comment construire une application qui peut fonctionne aussi sur Android 4.1, la réponse en général est d'utiliser où il est possibile les bibliothèques de support et de vérifier toutes les méthodes qui nécessitent un minSDK> 16.

Dans votre cas, vous devriez vérifier quelle est l'erreur dans le logcat.
Il n'y a pas un moyen simple de le faire.

+1

Très bien, il est temps que je me mette au travail. Merci. – Guido

-1

Pour cela, mis

minSdkVersion 16 

dans votre build.gradle et exécutez votre application avec Jelly Bean (API 16) dans l'émulateur. Mais certaines bibliothèques ne sont pas prises en charge dans l'API 16. Par exemple, lorsque vous souhaitez utiliser des widgets portables pour votre application, votre niveau d'API doit être supérieur ou égal à 20.