我有一个包含两个模块的项目:main应用模块和我在应用模块中包含的另一个模块,让我们把这个模块称为myModule。
我想在myModule中使用myModule,它包含在android utils中,所以我已经将compile 'com.google.maps.android:android-maps-utils:0.5+'添加到了属于myModule的build.gradle文件中。
奇怪的是,我无法导入属于android utils库的任何类,它似乎不存在于myModule中,尽管我没有任何gradle错误。当我在任何一个属于SphericalUtil的类中输入myModule时,我都会得到'Add library android-maps-utils to classpath‘的建议,但它似乎没有做任何事情。
当我在app模块gradle文件中添加完全相同的一行时,它看起来确实有效。我可以在属于应用程序模块的任何类中键入SphericalUtil,Android可以识别这个类并允许我自动导入它。
我也尝试过使用不同的库,例如okhttp,但是没有问题,我可以在myModule中自动导入和使用它,所以这个问题似乎与android-maps-utils相关。也许是按照把库添加到类路径的建议,破坏了一些东西?我真的猜不到,所以任何帮助都是徒劳无功的。
如果有帮助,myModule gradle文件如下所示:
apply plugin: 'java-library'
repositories {
maven { url "https://maven.google.com" }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// https://mvnrepository.com/artifact/com.google.android/android
compileOnly group: 'com.google.android', name: 'android', version: '4.1.1.4'
compile 'com.google.maps.android:android-maps-utils:0.5+'
compile 'com.squareup.okhttp3:okhttp:3.8.1'
compile files('libs/experiment.resultlogger-0.0.2.jar')
}
sourceCompatibility = "1.7"
targetCompatibility = "1.7"发布于 2018-02-20 10:33:11
您需要使用Android模块插件而不是java插件。正如下列文件所说:
若要在项目中创建新的库模块,请按以下步骤进行:
3.给库一个名称,并为库中的代码选择一个最小的SDK版本,然后单击Finish。
要解决AndroidManifest.xml问题,可以使用以下内容:
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.your.library"/>https://stackoverflow.com/questions/48882146
复制相似问题