2014-09-28 56 views
2

我发现这个美妙的库https://github.com/ACRA/acra崩溃报告跟踪。 我已经将jar文件导入到我的项目中,并将ACRA.init添加到我当前的应用程序中。org.acra.CrashReportDialog not found

public class AppController extends Application { 
....... 
@Override 
public void onCreate() { 
    super.onCreate(); 
    mInstance = this; 
    ACRA.init(this); 
} 

<application 
     android:name="com.mobiledev.Synergy.control.AppController" 
     android:label="@string/app_name"> 

而且每次运行应用程序时都会出现此错误。

STACK_TRACE=android.content.ActivityNotFoundException: Unable to find explicit activity class {com.mobiledev.Synergy/org.acra.CrashReportDialog}; have you declared this activity in your AndroidManifest.xml? 

at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1556) 
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431) 
at android.app.ContextImpl.startActivity(ContextImpl.java:1054) 
at android.app.ContextImpl.startActivity(ContextImpl.java:1043) 
at android.content.ContextWrapper.startActivity(ContextWrapper.java:283) 
at org.acra.ErrorReporter.notifyDialog(ErrorReporter.java:757) 
at org.acra.ErrorReporter$4.run(ErrorReporter.java:732) 

我想我需要包括acra jar文件中的CrashReportDialog活动。但我该怎么做呢? 谢谢你们,

+0

发表您的整个AndroidManifest。 @山姆的回答是正确的。 – William 2014-09-28 21:31:59

+0

嗨威廉,现在每件事情都在起作用,我确实应用了山姆的答案,但起初它并没有工作,于是我试着编译项目并清理干净。还重新启动我的应用程序。它现在工作正常。谢谢 – chkm8 2014-09-29 02:04:58

回答

2

您需要添加以下XML代码清单档案中的

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

嗨山姆,我已经这样做,但同样的错误显示。它不能找到org.acra.CrashReportDialog。有没有我错过了设置jar文件?我已阅读关于添加jar来构建路径,但我无法在我的Intellij中找到它。 – chkm8 2014-09-28 03:27:58

+0

确保您至少使用ACRA的v4.3版本 - 请参阅https://github.com/ACRA/acra/wiki/AdvancedUsage#dialog。如果有帮助,在我的应用程序的'build.gradle'文件中,我在'dependencies'部分有这个:'compile'c​​h.acra:acra:4.7.0'' – 2016-06-19 10:59:49

0

我只是面对完全一样的问题,解决它像这样:

  • 转到库jar所在的文件夹
  • 尝试删除jar(安全使用搜索)
  • (Android studio会要求确认是否有人疗法要删除的条目:
(workspaceroot)\(yourapppath)\build.gradle 

文件

  • 要更换
compile files('libs/acra-4.(version).jar') 

compile 'ch.acra:acra:4.7.0' 
  • 同步gradle这个(没有在gradle产出的右上角链接文件的编辑)
  • 再次尝试删除的jar(要求)(它现在应该成功)
  • 运行你的应用程序,让ACRA魔法闪耀...

问候,

S.