是否有任何批评jenkins插件可用于Android

时间:2013-05-28 07:32:15

标签: android jenkins jenkins-plugins crittercism

你们中的一些人可能会发现使用Crittercism dSYM Plugin可以自动将jenkins的iOS符号化文件(dSYM)上传到生命服务器。

我正在寻找类似的插件,它可以直接从jenkins将android proGuard映射文件(“mapping.txt”)上传到crittercism。

那些有相关想法的人,请分享你的想法。

4 个答案:

答案 0 :(得分:5)

现在,您可以使用专为Android和Android NDK构建的API自动上传mapping.txt文件。

可在此处找到更多信息:http://docs.crittercism.com/android/android.html#uploading-the-mapping-txt-file

作为一个说明,再次发现了这个问题,但现在已经有一段时间了。

答案 1 :(得分:1)

我也问过这个批评支持小组。

首先,我要感谢他们的迅速反应。

根据该邮件,尚未支持Android符号的自动上传选项,这是他们希望在即将发布的版本中定位的内容。

让我们听听马口的故事:


  

日期:2013年5月28日星期二18:13:09 +0000来自:support@crittercism.com   收件人:XXX@XXX.com主题:Re:是否有任何API   上传“mapping.txt”for android app

     

嗨Shailendra,

     

很高兴收到你的来信。对不起昨天的回复延迟   这是我们的假期,今天早上我只看到了你的消息。

     

关于mapping.txt文件的自动上传,我很害怕   这是目前不可能的。我们一直在为此计划此功能   几个短跑,但尚未包括在内。

     

我会继续将您的评论添加到我们的功能请求中   一直在努力。本周我将推动获得此功能   预定,但可能需要一些时间才能完全准备好。

     

您希望我们在发布时通知您吗?

     

是否有任何其他功能可以使用Crittercism a   更好的体验?

     

感谢您的反馈!

     

     

2013年5月28日下午5:31 Shailendra Rajawat    写道:

Waiting for your response .
Regards,
Shailendra

On May 27, 2013 at 1:57 p.m. Shailendra Rajawat wrote:

    Hi,
    Hope you are doing great.
    i am using cttercism for android and i want to automate the process of uploading proGuard mapping file "mapping.txt" .
    i am using jenkins -CI and will be delighted if somehow jenkins can send mapping.txt to crittercism server automatically. its
     

仅在您提供此类API时才有可能。           我开始知道这样的api可用于iOS dSYM文件上传。           等待你的回复。

    Regards,
    Shailendra

答案 2 :(得分:1)

遵循批评doc Eddie提到你可以将curl命令包装在gradle任务中。如果将新任务设置为assembleRelease finalizeBy,则每次构建版本apk时都会上载映射文件。当然,您需要自己定义这些变量。

task uploadMapping(type: Exec, dependsOn: 'assembleRelease') {

    commandLine 'curl',
            "https://app.crittercism.com/api_beta/proguard/$critterAppId",
            '-F', 'proguard=@build/outputs/mapping/release/mapping.txt',
            '-F', "app_version=$appVersionName-$appVersionCode",
            '-F', "key=$critterKey"
}
assembleRelease.finalizedBy uploadMapping

答案 3 :(得分:1)

我的解决方案工作正常。(本地构建和jenkins构建)

对我来说,只有在构建来自jenkins时才能工作

确保您的APPID,APPKEY和路径(release_jenkins ....正常发布)

build.gradle(app)(最后添加)

task uploadPro << {
    logger.error("Uploading mapping.txt file to crittercism")
    String temp = projectDir;
    temp = temp.replace("\\", "/");
    String[] cmd = ["curl", "-k", "https://app.crittercism.com/api_beta/proguard/AppIDSting",
                 "-F", "proguard=@" + temp + "/build/outputs/mapping/release_jenkins/mapping.txt",
                 "-F", "app_version=" + VERSION_NAME + '-' + VERSION_CODE,
                 "-F", "key=API_KEY"]
    logger.error("CMD : " + cmd)
    ProcessBuilder builder = new ProcessBuilder(cmd);
    Process process = builder.start();
    process.waitFor()
    println process.err.text
    println process.text
    }

gradle.buildFinished {
    //check your build type. I am not sure it's the best way to do it.
    logger.error("JSC : 이름 ! - " + gradle.startParameter.taskNames);
    if (gradle.startParameter.taskNames.contains("assembleRelease_jenkins")) {
        logger.error("JSC : 올리기 시작 ! - " + gradle.startParameter.taskNames);
        tasks.uploadPro.execute()
    } else {
        logger.error("JSC : PASS")
    }
}

jenkins console output capture