2 Stimmen

Gibt es ein Crittercism Jenkins-Plugin für Android?

Einige von Ihnen sind möglicherweise darüber informiert, dass es möglich ist, die iOS Symbolisierungsdatei (dSYM) automatisch vom Jenkins-Server auf den Crittercism-Server hochzuladen, indem Sie das Crittercism dSYM Plugin verwenden.

Ich suche nach einem ähnlichen Plugin, das die Android ProGuard-Mapping-Datei ("mapping.txt") direkt vom Jenkins auf Crittercism hochladen kann.

An alle, die dazu relevante Ideen haben, bitte teilen Sie Ihre Gedanken.

5voto

pixelknitter Punkte 869

Sie können jetzt mapping.txt-Dateien automatisch mithilfe der speziell für Android und Android NDK entwickelten APIs hochladen.

Weitere Informationen finden Sie hier: http://docs.crittercism.com/android/android.html#uploading-the-mapping-txt-file

Als Hinweis, habe diese Frage gerade wieder gefunden, aber das gibt es schon eine Weile.

1voto

Ich habe das auch an die Crittercism Support-Gruppe gefragt.

Zunächst möchte ich ihre prompte Antwort würdigen.

Basierend auf dieser E-Mail wird die automatische Upload-Option für die Android-Symbolisierung momentan nicht unterstützt und ist etwas, worauf sie im kommenden Release abzielen möchten.

Lass uns die Geschichte aus erster Hand hören:


Datum: Di, 28. Mai 2013 18:13:09 +0000 Von: support@crittercism.com An: XXX@XXX.com Betreff: Re: Gibt es eine API zum Upload von "mapping.txt" für Android-App

Hallo Shailendra,

Schön, von dir zu hören. Entschuldigung für die Verzögerung bei der Antwort, gestern hatten wir hier einen Feiertag und ich habe deine Nachricht erst heute Morgen gesehen.

Was den automatischen Upload der mapping.txt-Dateien betrifft, ist dies leider derzeit nicht möglich. Wir planen diese Funktion bereits seit mehreren Sprints, aber sie wurde noch nicht implementiert.

Ich werde deine Kommentare zu der Funktion, an der wir arbeiten, hinzufügen. In dieser Woche werde ich versuchen, diese Funktion einzuplanen, aber es wird einige Zeit dauern, bis sie vollständig einsatzbereit ist.

Möchtest du informiert werden, wenn sie verfügbar ist?

Gibt es noch andere Funktionen, die die Verwendung von Crittercism für dich angenehmer machen würden?

Vielen Dank für dein Feedback!

Jeremiah

Am 28. Mai 2013 um 17:31 Uhr schrieb Shailendra Rajawat:

Auf deine Antwort wartend.
Grüße,
Shailendra

Am 27. Mai 2013 um 13:57 Uhr schrieb Shailendra Rajawat:

    Hallo,
    Ich hoffe es geht dir gut.
    Ich benutze Crittercism für Android und möchte den ProGuard-Mapping-Datei-Upload "mapping.txt" automatisieren.
    Ich benutze Jenkins -CI und wäre entzückt, wenn Jenkins somehow mapping.txt automatisch an den Crittercism-Server senden könnte. Das ist

nur möglich, wenn Sie eine solche API bereitstellen. Ich habe erfahren, dass eine solche API für den Upload von iOS dSYM-Dateien verfügbar ist. Ich warte auf deine Antwort.

    Grüße,
    Shailendra

1voto

thepner Punkte 469

Nach dem Crittercism Dokument, das Eddie erwähnt hat, könnten Sie den Curl-Befehl in einer Gradle-Aufgabe einbetten. Wenn Sie Ihre neue Aufgabe auf assembleRelease finalisieren, wird eine Zuordnungsdatei jedes Mal hochgeladen, wenn eine Release-APK erstellt wird. Natürlich müssen Sie diese Variablen selbst definieren.

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

1voto

Soo Chun Jung Punkte 485

Meine Lösung funktioniert einwandfrei. (lokaler Build und Jenkins-Build)

Für mich funktioniert es nur, wenn der Build von Jenkins stammt

Stellen Sie sicher, dass Ihre APPID, APPKEY und der Pfad (release_jenkins.... normalerweise release) korrekt sind

build.gradle (app) (am Ende hinzufügen)

task uploadPro << {
    logger.error("Lade die mapping.txt-Datei zu crittercism hoch")
    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("Befehl : " + cmd)
    ProcessBuilder builder = new ProcessBuilder(cmd);
    Process process = builder.start();
    process.waitFor()
    println process.err.text
    println process.text
    }

gradle.buildFinished {
    // Überprüfen Sie Ihren Build-Typ. Ich bin mir nicht sicher, ob dies der beste Weg ist, es zu tun.
    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 Konsolenausgabenerfassung

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X