在Android Studio中导入库的问题

时间:2018-07-18 10:26:43

标签: android android-studio

我有一个gradle 2.2.0android-apt plugin 1.8的Android项目。我有时间将其更新为较新的工具gradle 3.1.0,并删除了apt插件,以使用具有实现/ CompileOnly和注解处理器关键字的较新的建议解决方案。在该项目正确构建/编译之后,apk文件被推送到设备,但是当我打开使用以下类的类时:butterknife, tourguide, FancyToast or material-dialogs库类看不到这种依赖关系(导入和引用标记为红色)。

有人有同样的问题吗? 当前依赖项:

依赖项{     实施'com.android.support:support-v4:27.1.1'     实施'com.android.support:appcompat-v7:27.1.1'     实施'com.android.support:recyclerview-v7:27.1.1'     实施'com.android.support:cardview-v7:27.1.1'     实施'com.android.support:design:27.1.1'

implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

annotationProcessor "org.projectlombok:lombok:1.16.12"
compileOnly "org.projectlombok:lombok:1.16.12"

implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

implementation ('com.github.worker8:tourguide:1.0.14-SNAPSHOT@aar') {
    transitive = true;
}
implementation files('libs/greendao-2.1.0.jar')

implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
//dagger
compileOnly 'javax.annotation:jsr250-api:1.0'
implementation 'com.google.dagger:dagger:2.0.2'
annotationProcessor 'com.google.dagger:dagger-compiler:2.0.2'



implementation('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') {
    transitive = true;
}
//save player objects (protect from removing it)
implementation 'com.google.code.gson:gson:2.7'

//permutation library
implementation 'com.googlecode.combinatoricslib:combinatoricslib:2.1'

//new toasts
implementation 'com.github.Shashank02051997:FancyToast-Android:0.1.3'

//tests
testImplementation 'junit:junit:4.12'
testImplementation "org.mockito:mockito-core:2.+"}

项目可以编译/运行,但是使用此库是一个障碍

1 个答案:

答案 0 :(得分:0)

如果您的依赖项在其他模块中声明,则应使用api而非实现 例如:

api 'com.google.dagger:dagger:2.0.2'