![](/img/trans.png)
[英]How to run app in Android Studio with shared library-module from other project?
[英]How to expose Project Module Library to App Module (Android Studio)
起初,我为 Android 应用程序使用单个模块app
程序,但现在我想将模块分为app
模块(核心业务逻辑和 UI)和libraries
模块(HTTP 相关和基本抽象类)。
我将新的libraries
模块作为库模块,并开始将一些实用程序代码从app
移动到libraries
,但问题来了。 问题是,我希望我的app
使用libraries
模块中使用的依赖项,而不必在两个 build.gradle 中包含相同的依赖项。
在我的app
模块中,我希望我的源代码使用libraries
中定义的RecyclerView
和Retrofit
,但除非我在我的 app/build.gradle 中还包含retrofit
和recyclerview-v7
,否则我不能这样做。
应用程序/main/src/..../HomeActivity.kt
var gridDataset: RecyclerView? = null // RecyclerView not found in classpath
应用程序/build.gradle
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(":libraries")
库/build.gradle
implementation "com.android.support:recyclerview-v7:$support_library_version"
implementation "com.squareup.retrofit2:retrofit:2.4.0"
implementation "com.squareup.retrofit2:converter-gson:2.4.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.4.0"
implementation "com.squareup.okhttp3:logging-interceptor:3.8.0"
我哪里做错了? 或者根本不可能做到这一点?
使用 api 而不是实现在 library/build.gradle 中指定您的依赖项
这应该将这些依赖项添加到任何模块的类路径中,具体取决于您的库模块
api "com.android.support:recyclerview-v7:$support_library_version"
api "com.squareup.retrofit2:retrofit:2.4.0"
api "com.squareup.retrofit2:converter-gson:2.4.0"
api "com.squareup.retrofit2:adapter-rxjava2:2.4.0"
api "com.squareup.okhttp3:logging-interceptor:3.8.0"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.