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

Gradle将android应用程序apk上传到maven repo(nexus)

公西俊才
2023-03-14

我试图创建一个CI构建,构建一个android应用程序的发布版本,并将得到的apk上传到maven sonatype nexus Repo。

当我运行assembleRelease时,apk被生成、签名、运行proguard,并位于build/outputs/apk/app-release.apk中

我运行:gradle UploadArchitores,它工作得很好,它确实上传了一个apk到nexus,但它与build/outputs/apk/app-release.apk中的文件不同(不同的创建日期)。

这意味着它要么做assembleRelease所做的任何事情,要么只是归档源代码,但忽略了android应用程序所需的一些操作。

gradle插件定义了这些技巧:

artifacts {
    archives androidSourcesJar
    archives androidJavadocsJar
}

共有1个答案

闻人越
2023-03-14

我尝试了提到的解决方案,但当Jenkins试图将APK文件上传到我们的nexus存储库时,我总是遇到“APK文件不存在”的问题。在gradle插件的文档中,路径以“build”文件夹开始。(https://docs.gradle.org/current/userguide/artifact_management.html)
我试图向路径注入一些env变量,但jenkins总是抱怨“找不到文件”。我想出了这个解决方案,它很简单。

uploadArchives {
repositories {
        mavenDeployer {
            repository(url: "https://repo.domain.com/content/repositories/snapshots") {
                authentication(userName: nexususername, password: nexuspassword)
            }

            pom.project {
                version "0.0.1-SNAPSHOT"
                artifactId "android-artifact"
                name "android-name"
                groupId "com.domain.foo.bar"
            }
        }
    }
}


    // /data/jenkins_work/NAME_OF_THE_BUILD_JOB/artifact/app/build/outputs/apk/app-debug.apk
def apk = file('app/build/outputs/apk/yourapp.apk')

artifacts {
    archives apk
}
 类似资料:
  • 问题内容: 到目前为止,我们已将Jenkins与Ant结合使用来构建我们的Android APK。使用curl将内置的APK,proguard mappings.txt和一些发行说明上载到Http Server 而app dir是由Android Manifest中的一些参数组装而成的 当我现在开始切换到Gradle时,我想将其移动到gradle构建文件中。我想到了一个依赖于Android插件组装

  • 我正在尝试将我的应用程序上载到华为AppGallery Connect,该应用程序发布为Multi-APK以减小其大小(不使用应用程序包以避免被商店签名) 这是我最后的多个apk文件: 我找到了华为AppGallery解释Multi-APK的官方视频,但我找不到上传多个APK的任何选项,因为上传表单只接受1个APK,如下图所示: 你能解释一下这是否可能,以及如何做吗?

  • Gradle是一个android模块,定义了几种自定义构建类型 Gradle是一个仅限于kotlin/java的模块: 模块A取决于模块B: 在源代码中,我需要知道使用它的确切方式,的当前

  • 在最近尝试为现有应用程序上载新版本的apk到PlayStore时,抛出了如下所述的警告消息 > 所以问题是,是强制只上传aab文件到PlayStore还是正常的apk文件也可以更新。 如果aab文件必须上传,那么在上传之前如何对aab文件进行签名。 开发的应用程序是一个cordova应用程序。那么,如果上面提到的事情是强制性的,那么为cordova应用程序构建的程序是否不同呢? 提前道谢!

  • 所以我无法上传一个新的APK到播放商店,并启用了帐单。 使用相同的密钥库对应用程序进行签名。 谢谢,德曼

  • 我现在将在Google play Store上发布我的第一个应用程序。我已经压缩了应用程序中使用的图像。我有一些关于应用程序大小的问题。 如果应用程序的大小小于2 MB那么用户卸载应用程序的机会就会减少,我的这句话对于属于教育领域的应用程序是真的吗? 然而,当我在windows中看到我的apk文件时,它显示为3.10MB,但当它安装到设备中时,从应用程序信息中查看时,它显示: 并且,我在我的项目中