2013-05-28 32 views
2

你们中的一些人可能知道,使用Crittercism dSYM Plugin可以自动从jenkins上将iOS符号文件(dSYM)上传到crittercism服务器。是否有任何jenkins插件可用于Android

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

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

+0

您是否尝试过使用现有的插件,但将您的mapping.txt放置在dSYM字段中? –

+0

是的。如预期的那样。它显示错误:400,无效的dSYM文件 –

+0

好的。这是值得一试的,因为HockeyApp插件适用于Android,尽管API具有iOS命名参数。您可以相对轻松地修改插件以使用两种操作系统类型。 –

回答

5

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

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

作为一个说明,只是再次发现了这个问题,但是这已经出来一段时间了。

+0

听起来很棒。谢谢您的回答。然而,我现在已经远离了这个小动物。接受这个没有验证的答案。 –

1

我也问过这个问题,以支持这个小组。

首先,我想欣赏他们的及时反应。

根据该邮件,Android符号的自动上传选项尚不受支持,并且是即将发布的版本中的目标。

让从马的嘴里听到的故事:


日期:星期二,2013年5月28日18时13分09秒+0000来源:[email protected] 要:XXX @ XXX。 COM主题:回复:有没有 上传 “的mapping.txt” 任何API的Android应用程序

赛伦德拉嗨,

好听到你的声音。对不起,延迟回复,昨天 是我们的假期,今天早上我只看到了你的消息。

关于mapping.txt文件的自动上传,恐怕 这是不可能的。我们一直在计划这个功能 几个冲刺,但它还没有包括在内。

我会继续并将您的意见添加到我们 一直在努力的功能请求中。本周我将推动预定此功能 ,但它可能需要一段时间才能完全准备就绪。

您想让我们在发布时通知您吗?

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

感谢您的反馈!

耶利米

自2013年5月28日,在下午5时31分赛伦德拉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 
1

之后的小动物doc埃迪提到你可以将curl命令包装在一个gradle任务中。如果您将新任务设置为assembleRelease finalizeBy,则每次构建发布apk时都会上载映射文件。当然你需要自己定义这些变量。

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

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

我的解决方案是工作的罚款。(本地构建和詹金斯建)

对我来说,只有当积累是从詹金斯

请确保您的应用标识,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", "[email protected]" + 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

+0

如果你有麻烦,我做了git项目[链接](https://github.com/SinsangMarket/CrittercismMappingTXT) –

相关问题