我刚从Eclipse和Maven切换到Android Studio和Gradle,用于我的Android项目。
现在我希望我的Jenkins服务器能够构建并将发布版本上传到我自己托管的Nexus服务器。
为此,我将这些行添加到build.gradle
apply plugin: 'maven'
group = "de.myapp"
version = '2.2.0'
android {
...
}
uploadArchives {
repositories {
mavenDeployer {
maven {
name "snapshot_repo"
url "http://192.168.178.85:8081/nexus/content/repositories/myapp_snapshots"
credentials {
username "admin"
password "admin123"
}
}
}
}
}
构建过程运行正常但我无法将任何项目上传到Nexus服务器而不会收到这条奇怪的消息:
:myapp_testname:assembleDebug :myapp_testname:uploadArchives 上传http://192.168.178.85:8081/nexus/content/repositories/myapp_snapshots/de/myapp/myapp_testname/2.2.0/ivy-2.2.0.xml 上传http://192.168.178.85:8081/nexus/content/repositories/myapp_snapshots/de/myapp/myapp_testname/2.2.0/ivy-2.2.0.xml.sha1 [ant:null]读取设置文件时出错' /tmp/gradle_empty_settings56173630026020664.xml' - 无视。错误是:/tmp/gradle_empty_settings56173630026020664.xml(没有这样的文件或目录)
建立成功
总时间:3分31.555秒 构建步骤'调用Gradle脚本'将构建结果更改为SUCCESS 存档工件 完成:成功
我将在存储库中获得两个常春藤文件,但仅此而已。
似乎gradle无法创建tmp文件。但我不知道为什么。
当我在本地Windows机器上执行此操作时,我将收到相同的错误(仅使用另一个tmp文件夹)
有谁知道如何解决这个问题?
答案 0 :(得分:0)
好吧,我刚刚发现问题和解决方案:
我在我的应用中使用了几种风格和buildTypes(免费/高级和调试/发布)。 这意味着没有真正的“默认”变体。 在这种情况下,您需要在模块的build.gradle中使用此行来发布不同的构建类型
android {
...
publishNonDefault true
...
}