我目前正在通过提供的迁移指南将我们的项目迁移到新的gradle插件(3.0.0):
https://developer.android.com/studio/preview/features/new-android-plugin-migration.html
在我们的Android项目中,我们有一个库模块和两个应用程序模块。目前的库模块没有味道,只有调试功能
我发现库模块的构建类型必须与应用程序模块的构建类型完全匹配。例如,
如果应用程序模块具有名为debugProguard的构建类型,则库模块还必须具有名为debugProguard的构建类型。这意味着在库模块中,我最终必须声明没有主体的buildType:
buildTypes {
...
debugProguard {
}
...
}
(从这里开始:Android Studio 3.0错误。迁移本地模块的依赖项配置)
有没有办法避免这种情况?奇怪的是,图书馆需要一些关于消费应用程序架构的知识。
理想情况下,我想做的是告诉构建系统为应用的构建类型使用特定的构建类型库。例如,对于应用程序中的BuildType x、y、z,在库中使用debug,对于i、j、k,使用释放。
提前谢谢
他们刚刚在AndroidStudio 3.0的金丝雀7版本中提到了这一点:
现在,您可以使用android从生产商处指定消费者应该使用的替代构建类型。buildTypeMatching属性,如下所示。只有在找不到匹配的生成类型时,插件才会使用替代生成类型。
android {
…
// Let's say your app configures a 'staging' build type and a library module
// it depends on does not. You can use the property below to tell the Android plugin
// to use a library's 'debug' build type instead.
buildTypeMatching 'staging', 'debug'
}
我创建了一个android库模块,并将其托管在我的Github上。但是,该库与Android Studio项目的图标和版本冲突。当附加到我的Android项目gradle时,会显示以下错误: 清单合并失败:属性元数据#android.support.VERSION@value值=(25.3.1)来自[com.android.support: cardview v7:25.3.1]Androidan
我在 Gradle 构建脚本中将 设置为 8,在 Android 模块清单中将 设置为 4。 哪一个被拿走了?为什么这两个不同步?
问题内容: 我在詹金斯有一份工作(称为BIGJOB);几个构建步骤是使用参数化触发器插件来触发其他作业(称为SMALLJOB)的构建,然后等待它们完成。我需要做的是从SMALLJOB上触发的构建中检索工件。 最初,我认为我可以使用Copy Artifact插件从触发的SMALLJOB的“最后构建”中检索工件。当一次仅运行一个SMALLJOB时,这确实可以可靠地工作。 但是我运行了多个BIGJOB,
问题内容: 我的问题与 iTunes Connect 中版本和内部版本号的限制有关。我们只允许3个非负整数,并且内部版本号必须是递增的。 我正在设置一个 Jenkins 作业,以将我的构建自动上传到 iTunes Connect, 以便测试人员可以下载它们。 问题: 我们如何确保递增的内部版本号?即使我们在每次提交之前都在Xcode中手动更改了它(这似乎是错误的),也有多个开发人员在项目上工作,所
版本化的模块 不像CVS,Subversion工作拷贝会意识到它检出了一个模块,这意味着如果有人修改了模块的定义(例如添加和删除组件),然后一个对svn update的调用会适当的更新工作拷贝,添加或删除组件。 Subversion定义了模块作为一个目录属性的目录列表:见“外部定义”一节。
问题内容: 我刚刚将我的android SDK工具更新为新发布的版本(工具版本22,平台工具版本17) .classpath文件已修改。更新中添加了一行: 在SDK工具更新之前,我所有的项目都运行良好! 我以这种方式纠正了我的问题: 在项目属性(eclipse)中-> java build path-> order and export确保已检查libs文件夹中的所有jar。 和“ Android