بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل با سیستم crash reporter ( حل شد )

مدیریت گفتگو
RojaDev 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان تا حالا با ACRA کار کردین؟

طبق توضیحات خودش (http://acra.ch/) جلو رفتم...توی برنامه هم کرش بوجود میارم اما هیچی ریپورتی ارسال نمیکنه؟!

دوستان اگه تجربه کار با این سیستم ریپورت دهی رو دارن ممنون میشم راهنماییم کنن...

کلاسی که برای ارسال کرش ها معرفی کردم :

 import org.acra.ACRA;
import org.acra.ReportField;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import android.app.Application;


@ReportsCrashes(formKey = "",
                formUri = "http://www.xxxxxx.com/report/report.php",
                customReportContent = { ReportField.APP_VERSION_CODE,
                        ReportField.APP_VERSION_NAME,
                        ReportField.ANDROID_VERSION,
                        ReportField.PHONE_MODEL,
                        ReportField.CUSTOM_DATA,
                        ReportField.STACK_TRACE,
                        ReportField.LOGCAT },
                mode = ReportingInteractionMode.SILENT)
public class ReportApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        ACRA.init(this);
    }
}

نظرات

BehrouZ.J 11 سال پیش
توی فایل php خودتون دیتای ارسالی رپورت رو دریافت میکنین؟؟ یا اینکه به طور کل چیزی ارسال نمیشه؟
RojaDev 11 سال پیش
تو فایل php همون دستورات خودش رو گذاشتم که تو ایجادش گفته بود...هیچ فایلی متنی که توش باید توضیحات خطا باشه رو ایجاد نمیکنه...(تا اونجایی که میدونم کنار همین فایل php باید یه فایل متنی درست کنه و خطاها رو توش بنویسه)
BehrouZ.J 11 سال پیش
اگه امکانش هست کد های PHP رو هم قرار بدین.
RojaDev 11 سال پیش
خودم به تنظیمات فایل منی فست شک دارم...میشه لطفا اون بخشش رو بگین... که تنظیمات درستش چیه...
Criss 11 سال پیش
یه مشکل خیلی عجیب < برای من formKey رو نمیشناسه ! < The attribute formKey is undefined for the annotation type ReportsCrashes
criss@ : تو ورژن جدیدش نیازی به formKey نداره . formKey برای اتصال به google docs بود که دیگه پشتیبانی نمیشه
Criss 11 سال پیش
من از لینک اموزشی این تاپیک لینک و از ورژن /acra-4.6.1.jar استفاده میکنم < بجای formKey از چی باید استفاده کنم ؟

پاسخ‌ها 4

RojaDev 11 سال پیش

محتویات فایل php:

 <?php
    // Outputs all POST parameters to a text file. The file name is the date_time of the report reception
    $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);
?>

نظرات

BehrouZ.J 11 سال پیش
کد درون فایل PHP خودتون رو کامنت کنین و کد زیر رو قرار بدین. (این کد کارش اینه که به محض اجرا فایل php یه فایل txt ایجاد میکنه و کنار فایلتون قرار میده این یعنی اینکه به فایل php شما درخواست ارسال میشه )
BehrouZ.J 11 سال پیش
$c; $fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/myReport.txt","wb"); fwrite($fp,$content); fclose($fp);
RojaDev 11 سال پیش
میشه لطفا کدتون رو تو پاسخ با تگ کد بزارین...کلن بهم ریخته :(
RojaDev 11 سال پیش
تمام خط ها رو کامنت کنم؟!
BehrouZ.J 11 سال پیش

 $content = "Test File";
    $fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/myReport.txt","wb");
    fwrite($fp,$content);
    fclose($fp);

نظرات

RojaDev 11 سال پیش
باز هم هیچ فایلی ایجاد نمیکنه :(
BehrouZ.J 11 سال پیش
اگه فایلی ایجاد نمیکنه پس مشخصه دیگه به فایل php شما درخواست ارسال نمیشه. میتونین واسه تست به صورت میستقیم از مرورگر فایل php رو اجرا کنین ببینین که فایل تولید میشه یا نه.
RojaDev 11 سال پیش
با تعجب فراوان کلن با اجرای فایل php تو مرورگر هم فایلی ایجاد نمیکنه؟!!!!!
RojaDev 11 سال پیش

یه اتفاق دیگه افتاد...

یه مرحله رو جا انداخته بودم...بعد از تصحیح مرحله و اجرای اپ ( و تصحیح فایل به حالت اولیه) : یه فایل error_log کنار فایل php ساخت با این متن :

[02-Nov-2014 15:59:50 UTC] PHP Parse error:  syntax error, unexpected T_STRING in /home/xxxxxx/public_html/report/report.php on line 2

نظرات

RojaDev 11 سال پیش
حل شد... ممنونم دوست عزیز...
BehrouZ.J 11 سال پیش
کل کد PHP که الان قرار دادین و این ارور رو بهتون داده رو اینجا قرار بدین تا بررسی بشه.
RojaDev 11 سال پیش
ممنون دوست عزیز خط دوم رو کامنت نکرده بودم... یادم رفته بود...کامنتش کردم مشکل برطرف شد...و خطا هارو برام تو یه فایل تکس مینویسه... :)
Criss 11 سال پیش

بعد از کرش برنامه دیالوگ باز میشه اما چیزی به فایل php ارسال نمیشه < فایل php هم بخوبی کار میکنه <

mport org.acra.ACRA;
import org.acra.ReportField;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import android.app.Activity;
import android.app.Application;
import android.content.Context;


@ReportsCrashes(//formKey = "",
formUri = "http://android.domain.ir/report.php",
customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },
mode = ReportingInteractionMode.DIALOG,
resToastText = R.string.crash_toast_text, // optional, displayed as soon as the crash occurs, before collecting data which can take a few seconds
resDialogText = R.string.crash_dialog_text,
resDialogIcon = android.R.drawable.ic_dialog_info, //optional. default is a warning sign
resDialogTitle = R.string.crash_dialog_title, // optional. default is your application name
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional. when defined, adds a user text field input with this text resource as a label
resDialogOkToast = R.string.crash_dialog_ok_toast // optional. displays a Toast message when the user accepts to send a report.

)
public class G extends Application {

public static Context context;
public static Activity currentactivity;


@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
ACRA.init(this);
}
}

این رو هم به منی فست اضاف کردم <

 <activity
android:name="org.acra.CrashReportDialog"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Dialog" />

پرمیژن اینترنت هم وجود داره !

----------------------#ویرایش :

تغییرات رو بصورت زیر گذاشتم باز هم نشد !

 
@ReportsCrashes(//formKey = "",
formUri = "http://android.clientdomain.tinahost.ir/report.php",
customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },
mode = ReportingInteractionMode.SILENT
/* resToastText = R.string.crash_toast_text,
resDialogText = R.string.crash_dialog_text,
resDialogIcon = android.R.drawable.ic_dialog_info,
resDialogTitle = R.string.crash_dialog_title,
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt,
resDialogOkToast = R.string.crash_dialog_ok_toast
*/
)
public class G extends Application {

public static Context context;
public static Activity currentactivity;


@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
ACRA.init(this);
}
}

 

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .