Я использую библиотеку dagger 2 для своего приложения для Android, но она не генерирует класс Daggercomponent, поэтому я прочитал, что я должен включить процессор аннотаций, но я не могу найти его нигде в Android Studio 3.1.2, его нет в настройках, я также добавил это код для Gradle, и это не помогло
javaCompileOptions{
annotationProcessorOptions {
includeCompileClasspath true
}
}
пожалуйста, обратите внимание, что я говорю о версии 3.1.2. в предыдущей версии процессор аннотаций находится в меню, но я не могу найти его в этой версии
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.moein.volley_download_kotlin"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions{
annotationProcessorOptions {
includeCompileClasspath true
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso- core:3.0.2'
implementation 'com.tonyodev.fetch2downloaders:fetch2downloaders:2.0.0-RC21'
implementation 'com.android.volley:volley:1.1.0'
implementation 'com.google.dagger:dagger:2.13'
annotationProcessor 'com.google.dagger:dagger-compiler:2.13'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.13'
}
(мой код реализации кинжала на github не хотел переписывать здесь: https://github.com/codepath/android_guides/issues/331)
@LeviAlbuquerque готово
проверить ответ @ Moeinh77
Удачи здесь @ Moeinh77?
@LeviAlbuquerque привет, спасибо за вопрос, но, к сожалению, еще нет. Кроме того, время моего градостроительства внезапно стало очень медленным
иногда он не создается, потому что что-то не так с настройкой вашего кинжала, я отредактировал свой ответ :)
Если вы используете kotlin в своем проекте, вам необходимо использовать процессор анотации kotlin. Добавьте его в начало вашего файла gradle:
apply plugin: 'kotlin-kapt'
и вместо использования annotationProcessor используйте kapt:
kapt 'com.google.dagger:dagger-compiler:2.13'
kapt 'com.google.dagger:dagger-android-processor:2.13'
Я проверял вашу настройку кинжала, и этот модуль, похоже, немного не работает:
@Module
class globals {
lateinit var volleyinstance:VolleyController
fun golobals(volley:VolleyController){
volleyinstance=volley
}
@Provides
@Singleton
fun provideVolley():VolleyController{
return volleyinstance
}
}
Я не вижу, чтобы ваш volleyController создавался в каком-либо другом модуле. Может быть, вы хотели сделать что-то вроде:
@Module
class globals {
@Provides
@Singleton
fun provideVolley():VolleyController{
return VolleyController()
}
}
Привет, спасибо, но я сделал это, и это не помогло решить проблему. Любая другая идея?
Обычно компонент кинжала создается, но не импортируется автоматически. Вы проверили, можете ли вы ctrl + enter импортировать его после чистой сборки?
tnx, я пробовал это, но все равно ничего. Моя Android Studio Gradle стала очень медленной, вы знаете, почему? Я просто пытался заставить кинжал работать, и теперь градиент стал таким медленным, я все вернул, но все равно он медленный
этот код, который вы написали, дает мне эту ошибку: Папка D: \ StudioProjects \ Volley_Download_KOTLIN \ app \ build \ generated \ source \ kaptKotlin \ d Папка ebug D: \ StudioProjects \ Volley_Download_KOTLIN \ app \ build \ generated \ source \ kaptKotlin \ r Причиной могут быть сторонние плагины Gradle.
это обычно предупреждение, а не ошибка> stackoverflow.com/questions/49518223/…
Удачи здесь @ Moeinh77?
нет, к сожалению, я просто не сгенерировал его, я даже установил Android Studio 2.3 со старым Gradle 3.3, и он тоже не
не могли бы вы опубликовать свой файл build.gradle? уровень приложения один