J'étudie ceci Construire un client de chat simple avec Parse et j'utilise le grade 2.4 pour construire mon projet. Mon build.gradle et AndroidManifest.xml
les codes sont:
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.1.3'
}
}
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
}
repositories {
jcenter()
}
dependencies {
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
compile 'com.parse.bolts:bolts-Android:1.+'
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.Android.support:support-v4:21.0.0'
compile 'com.Android.support:appcompat-v7:21.0.0+'
compile 'com.squareup.picasso:picasso:2.5.0'
}
AndroidManifest.xml
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<application Android:label="@string/app_name"
Android:name="main.Java.org.hello.ChatApplication">
<activity
Android:name=".ChatActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Je reçois la prochaine erreur:
/home/grados-sanchez/workspace/simplechat/src/main/AndroidManifest.xml:0:0 Error:
uses-sdk:minSdkVersion 1 cannot be smaller than version 7 declared in library /home/grados-sanchez/workspace/simplechat/build/intermediates/exploded-aar/com.Android.support/appcompat-v7/21.0.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="Android.support.v7.appcompat" to force usage
:processDebugManifest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 7 declared in library /home/grados-sanchez/workspace/simplechat/build/intermediates/exploded-aar/com.Android.support/appcompat-v7/21.0.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="Android.support.v7.appcompat" to force usage
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or -- debug option to get more log output.
BUILD FAILED
Pourrais-tu m'aider s'il te plait
Vous devez ajouter le minSdkVersion
à votre build.gradle
.
Sinon, gradle utilise valeur par défaut = 1.
Vous utilisez une bibliothèque avec minSdk=7
, alors vous ne pouvez pas utiliser minSdk = 1.
Faites également attention à ce que gradle remplace les valeurs dans le manifeste.
Ajoutez quelque chose comme ceci:
Android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
}
}
Faites attention à votre build.gradle. Vous avez deux blocs de dépendances. Vous devez fusionner ces blocs.
Il suffit d'ajouter
<uses-sdk tools:overrideLibrary="Android.support.v7.appcompat"/>
à votre AndroidManifest.xml et cela fonctionnera. Cela permettra à la fusion du manifeste de l'ajouter également lorsque la version d'API est plus ancienne. N'oubliez pas d'ajouter l'espace de noms des outils à votre racine xml comme indiqué ci-dessous.
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.app"
xmlns:tools="http://schemas.Android.com/tools">
Vous pouvez également trouver plus d'informations à ce sujet ici: http://tools.Android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-tools:overrideLibrary-marker
Il semble que vous ayez oublié d'ajouter le code suivant dans build.gradle. ajoutez-le dans build.gradle et essayez de compiler
defaultConfig {
applicationId "com.XXX.XXXX" // your application package
multiDexEnabled true
minSdkVersion 14
targetSdkVersion 18
versionCode 99
versionName "11.1.5.5"
}