繁体   English   中英

无法在模块中使用android-maps-utils

[英]Cannot use android-maps-utils in module

我有一个包含两个模块的项目。 main应用程序模块和我包含在应用程序模块中的另一个模块,我们将此模块称为myModule。

我想在Mymodule中,包含在Android的地图-utils的使用SphericalUtil,所以我已经添加compile 'com.google.maps.android:android-maps-utils:0.5+'到的build.gradle文件属于myModule

奇怪的是,我无法导入属于android-maps-utils库的任何类,即使我没有gradle错误,它似乎也不存在于myModule中。 当我在属于myModule的任何类中键入SphericalUtil时,都会得到“ Add library android-maps-utils to classpath ”的建议,但似乎没有做任何事情。

当我在应用程序模块gradle文件中添加完全相同的行时,它似乎确实起作用。 我可以在属于app模块的任何类中键入SphericalUtil ,Android Studio可以识别该类并允许我自动导入它。

我也尝试过使用其他库,例如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"

您需要使用Android模块插件而不是Java插件。 以下文档所述

要在您的项目中创建一个新的库模块,请按照下列步骤操作:

  1. 单击文件>新建>新建模块。

  2. 在出现的“创建新模块”窗口中,单击“ Android库”,然后单击“下一步”。 还有一个创建Java库的选项,该库将构建传统的JAR文件。 尽管JAR文件对许多项目有用(尤其是当您想与其他平台共享代码时),但它不允许您包含Android资源或清单文件,这对于Android项目中的代码复用非常有用。 因此,本指南重点介绍创建Android库。

3.给您的库命名,并为库中的代码选择一个最低的SDK版本,然后单击“完成”。

要解决AndroidManifest.xml问题,您可以使用如下代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.your.library"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM