首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在模块中使用android-maps utils

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

Stack Overflow用户
提问于 2018-02-20 09:44:37
回答 1查看 541关注 0票数 1

我有一个包含两个模块的项目: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文件如下所示:

代码语言:javascript
复制
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"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-20 10:33:11

您需要使用Android模块插件而不是java插件。正如下列文件所说:

若要在项目中创建新的库模块,请按以下步骤进行:

  1. 单击“文件”>“新建”>“新建模块”。
  2. 在出现的窗口中,单击,然后单击Next。还有一个选项可以创建一个Java库,它构建了一个传统的JAR文件。虽然JAR文件对于很多项目都很有用--特别是当您想与其他平台共享代码时--但它不允许您包含Android资源或清单文件,这对于在Android项目中重用代码非常有用。因此,本指南将重点放在创建库上。

3.给库一个名称,并为库中的代码选择一个最小的SDK版本,然后单击Finish。

要解决AndroidManifest.xml问题,可以使用以下内容:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.your.library"/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48882146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档