java - 如何将 android 项目作为库导入而不是将其编译为 apk (Android studio 1.0)

标签 java android gradle android-studio build.gradle

我尝试导入一个项目(projLib)作为另一个项目(projAPK)的依赖项。

projAPK gradle 有这个:

dependencies {
    compile project(':libs:NewsAPI')
    compile project(':projLib')
}

但是当我同步 gradle 时它给出了这个错误:

Error:Dependency Android_2015:projLib:unspecified on project projAPK resolves to an APK archive which is not supported as a compilation dependency. File: /Users/myname/Documents/Development/Android_2015/libs/projAPK/build/outputs/apk/projLib-release-unsigned.apk

所以我想有两种解决方案:

  1. 不知何故让 gradle 认为 projLib 是一个不应该编译成 apk 的库
  2. 不知何故让 gradle 不明确编译 projLib

问题是,我找不到任何方法。 如果你们能帮忙就太好了:)

最佳答案

projLib 的 build.gradle 文件中,您会看到如下语句:

apply plugin: 'com.android.application'

告诉 Gradle 将其构建为应用程序,生成一个 APK。如果你把它改成这样:

apply plugin: 'com.android.library'

它将构建为一个库,生成一个 AAR,它应该可以工作。

如果您还需要 projLib 来生成单独的 APK,那么您必须进行一些重构以将您需要的通用代码提取到第三个库模块中,并让两个 APK 依赖就可以了。

不允许库设置 applicationId,因此如果您看到与此有关的错误消息,请将其从库的构建脚本中删除。

关于java - 如何将 android 项目作为库导入而不是将其编译为 apk (Android studio 1.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536491/

相关文章:

java - 是什么导致方法被热点编译器归类为 "' 不可编译(禁用)?

java - Android EditText 动态改变文字为表情符号

java - 使用 Gradle 将所有创建的和第三方 jar 复制到一个文件夹中

java - 在 ubuntu 上设置 Hadoop YARN(单节点)

Java Servlet 将数据传输到浏览器

android - 无法实例化 fragment com.swmansion.rnscreens.Screen

Android - 通过 TCP/IP 传输数据

java - Gradle:增加由 gradle run 任务启动的 java 进程的堆大小

batch-file - 关于设置Kafka环境的问题

java - 如何保持 Maven 集成测试相互隔离?