Java — Android — Как использовать Arca в качестве репортера ошибок в Android?

Я пытаюсь использовать ARCA как репортер ошибок в моем проекте Qt-Android. Я читаю этот учебник и я добавил .JAR файл в свой проект, создал новый класс (ReportApp.java) в моем проекте.

ReportApp.java:

package org.qtproject.example.myApplication;
import org.acra.*;
import org.acra.annotation.*;
import android.app.Application;

@ReportsCrashes(
formUri = "http://********/report/reportpath.php",
formUriBasicAuthLogin = "root",
formUriBasicAuthPassword = "***************",
mode = ReportingInteractionMode.TOAST,
forceCloseDialogAfterToast = false, // optional, default false
resToastText = R.string.crash_toast_text)
public class ReportApp extends Application {
@Override
public void onCreate() {
super.onCreate();
ACRA.init(this);
}
}

Отредактировал эту строку в AndroidManifest.xml:

Вместо того, чтобы использовать

<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="@string/app_name" android:icon="@drawable/icon">

Я использую :

<application android:hardwareAccelerated="true" android:name="org.qtproject.example.myApplication.ReportApp" android:label="@string/app_name" android:icon="@drawable/icon">

И добавьте эту строку в Strings.xml:

<string name="crash_toast_text">Ooooops ! I crashed, but a report has been sent to my developer to help fix the issue !</string>

На самом деле, нет никакого всплывающего сообщения, когда myApplication аварийно завершает работу и не отправляет никакого сообщения на мой сервер. Вот мой сценарий:

reportpath.php:

<?php
$fileName = date('Y-m-d_H-i-s').'.txt';
$file = fopen($fileName,'w') or die('Could not create report file: ' . $fileName);
foreach($_POST as $key => $value) {
$reportLine = $key." = ".$value."\n";
fwrite($file, $reportLine) or die ('Could not write to report file ' . $reportLine);
}
fclose($file);
?>

Есть ли какие-либо предложения?

Редакция: Я проверил другой способ в ReportApp.java:

ReportApp.java:

использование

public class ReportApp extends org.qtproject.qt5.android.bindings.QtApplication

вместо

public class ReportApp extends Application

Но также это не работает.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …