Was ist der APT-Abhängigkeitsbereich in android Gradle-Dateien, die ich manchmal sehe?apt Abhängigkeitsbereich in Android Gradle - wofür wird es verwendet?
Ein Beispiel sieht so aus?
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
applicationId "org.ligboy.test.card.module1"
minSdkVersion 14
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
final DAGGER_VERSION = '2.0.2'
dependencies {
compile "com.google.dagger:dagger:${DAGGER_VERSION}"
apt "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"//what is this scope
provided 'org.glassfish:javax.annotation:10.0-b28'
}
und in der obersten Ebene build.gradle Datei, die es diese globale Abhängigkeit hat:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
Hinweis in den Abhängigkeiten Abschnitt ein apt Umfang ist? Ich kenne nur Kompilieren, Paket und bereitgestellten Umfang. Kompilieren enthält die Abhängigkeit zur Kompilierzeit und in Ihrem Paket, vorausgesetzt, sagt nur die Bibliothek zur Kompilierzeit enthalten und verwerfen es bei Paket Zeit, so dass es nicht im endgültigen Build enthalten ist. und Paket ist umgekehrt, es enthält die Abhängigkeit im Paket und nicht zur Kompilierzeit. Aber was ist ein Abhängigkeitsbereich, den wir offensichtlich brauchen, um die com.neenbedankt.android-apt zu arbeiten, damit ich seine android basierte kennen.
Update: warum kann ich benutze Abhängigkeit Umfang statt wie bisher apt Umfang? Wie unterscheiden sie sich?
Ich habe ein Tutorial auf dagger dependency scopes für diejenigen erstellt, die weitere Informationen benötigen.
und warum kann ich nicht in diesem Fall "zur Verfügung gestellt" statt apt? Ich denke, wenn Sie geantwortet haben, dass es Dinge für mich klären würde. – j2emanue
Eine Erklärung zu den Unterschieden hinzugefügt. –
Brilliant. Ich verwende auch 'org.glassfish: javax.annotation: 10.0-b28' in Großbuchstaben. Denkst du, es wäre besser, es zu einem geeigneten Bereich zu machen? Auf diese Weise wird keiner der Generatoren in den Code aufgenommen, richtig? – j2emanue