当前位置: 首页 > 知识库问答 >
问题:

Gradle和Android Studio中调试和发布的不同依赖项

西门凯康
2023-03-14

我有一个Android项目,它依赖于纯Java项目。它们都依赖于另一个Java库,也在我在Android Studio中的多项目gradle集中。我有两个版本的库,希望Android和Java项目在调试模式下依赖其中一个,在发布模式下依赖另一个。

Android项目有可能吗?纯Java项目?怎样

共有3个答案

麹承
2023-03-14

您可以使用下一个模式来实现这一点

build_variant_namedependency_configurations"依赖"
build_variant_namedependency_configurations项目(路径:': libName',配置:'build_variant_namelibName')

例如

dependencies {

    FreeDebugImplementation "dependency"
    PaidReleaseApi project(path: ':libName', configuration: 'release')
}

您可以阅读有关构建变体的更多信息-https://developer.android.com/studio/build/build-variants依赖项配置-https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration#new_configurations

顾赞
2023-03-14

我的buildDebug依赖项也被忽略了。我的设置是应用程序模块和库模块,我需要将构建类型从应用程序传播到库模块,即,当我在应用程序上编译调试类型时,我也想获取库调试类型。

如前所述,我尝试在app gradle文件中为每种构建类型指定一个特定的依赖项,但没有成功:

buildTypes {
    debug {
        debuggable true
        applicationIdSuffix ".debug"

        dependencies {
            debugCompile project(":library")
        }
    }
}

最终,我的诀窍是:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-图书馆出版物

因此,现在库依赖项在app gradle文件的全局依赖项范围内进行管理(与往常一样):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    releaseCompile project(path: ':library', configuration: 'release')
    debugCompile project(path: ':library', configuration: 'debug')
}

必须将此添加到图书馆的gradle构建文件中:

android {
    publishNonDefault true
}

这将发布所有依赖项的构建类型。请注意,如果编译依赖项需要大量时间,则此解决方案可能不适合您。

宗涵蓄
2023-03-14

生成类型(调试、发布或自定义)可以有自己的依赖项。

要指定特定于构建类型的依赖项,请执行以下操作:

dependencies {
    debugCompile "mydebugdependency"
    releaseCompile "myreleasedependency"
}

如果您的java项目和android项目都使用gradle,那么您可以在这两个版本中执行上述操作。格雷德尔档案。

 类似资料:
  • 应用程序 SlidingMenu(源文件) SlidingMenu-Maps-Support(源文件) 这里有一个链接,看看我的意思。 这就是我得到的错误。 谢谢! 编辑1:不要紧!我又回到月食了!Android Studio还没有为真正的项目开发做好准备。

  • 我正在尝试将我的项目从gradle构建转换为maven构建。我可以从maven生成war文件,但是maven中的一些依赖项JAR的版本与Gradle的版本不同。 问题1:为什么上述罐子的版本不一样? 问题2:为什么使用Gradle构建的战争有“cglib-2.2.1-v20090111.jar”,而使用Maven构建的战争却没有?

  • 我有一个Gradle项目,我正在使用maven-publisher插件将我的android库安装到maven本地和maven Repo。 这是有效的,但是生成的pom.xml不包括任何依赖项信息。是否存在包含这些信息的变通方法,或者我被迫返回到maven插件并执行所有需要的手动配置? 通过研究,我意识到我没有告诉发布依赖项在哪里,我只是指定了输出/工件,所以我需要一种方法将这个链接到依赖项,但我还

  • 考虑到你不能依赖BuildConfig,你如何区分Android开发中的发布版本和调试版本。DEBUG标志? 我使用Android Studio与Gradle和更喜欢产生释放/调试构建使用Gradle任务,我也需要它来产生那些在TeamCity。 例如,我需要使用不同的值进行发布和调试。我要做的是将它们分别存储在和文件夹中,以便根据构建选择合适的文件夹。这是可以的,但是如果我需要在

  • 我正在开发一个android应用程序。我有一个java文件,我想在调试和发布构建类型中不同地使用它。我知道我可以有不同的资源文件用于调试和发布版本。但是对Java文件也可以这样做吗?如何实现这一点?