Moja application.java wygląda tak:
@AcraCore(buildConfigClass = BuildConfig.class, reportFormat= StringFormat.JSON)
@AcraHttpSender(uri="my_url", httpMethod=org.acra.sender.HttpSender.Method.POST)
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
ACRA.init(this);
}
}
i kiedy startuję aplikację na Android 4.3 (Sony Xperia T) aplikacja craszuje się na ACRA.init(this). Testowałem apkę także na Android 9 i nie ma tam problemu. To jest error log:
java.util.ServiceConfigurationError: Couldn't instantiate class org.acra.config.HttpSenderConfigurationBuilderFactory
at java.util.ServiceLoader$ServiceIterator.next(ServiceLoader.java:216)
at org.acra.plugins.ServicePluginLoader.loadInternal(ServicePluginLoader.java:61)
at org.acra.plugins.ServicePluginLoader.load(ServicePluginLoader.java:38)
at org.acra.config.BaseCoreConfigurationBuilder.configurationBuilders(BaseCoreConfigurationBuilder.java:58)
at org.acra.config.BaseCoreConfigurationBuilder.preBuild(BaseCoreConfigurationBuilder.java:87)
at org.acra.config.CoreConfigurationBuilder.build(CoreConfigurationBuilder.java:846)
at org.acra.ACRA.init(ACRA.java:160)
at org.acra.ACRA.init(ACRA.java:144)
at org.acra.ACRA.init(ACRA.java:127)
at pl.jawegiel.endlessblow.MyApplication.attachBaseContext(MyApplication.java:18)
at android.app.Application.attach(Application.java:181)
at android.app.Instrumentation.newApplication(Instrumentation.java:991)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4539)
at android.app.ActivityThread.access$1300(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1358)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:5225)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.acra.config.HttpSenderConfigurationBuilderFactory" on path: DexPathList[[zip file "/data/app/pl.jawegiel.endlessblow-2.apk"],nativeLibraryDirectories=[/data/app-lib/pl.jawegiel.endlessblow-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at java.util.ServiceLoader$ServiceIterator.next(ServiceLoader.java:214)
at org.acra.plugins.ServicePluginLoader.loadInternal(ServicePluginLoader.java:61)
at org.acra.plugins.ServicePluginLoader.load(ServicePluginLoader.java:38)
at org.acra.config.BaseCoreConfigurationBuilder.configurationBuilders(BaseCoreConfigurationBuilder.java:58)
at org.acra.config.BaseCoreConfigurationBuilder.preBuild(BaseCoreConfigurationBuilder.java:87)
at org.acra.config.CoreConfigurationBuilder.build(CoreConfigurationBuilder.java:846)
at org.acra.ACRA.init(ACRA.java:160)
at org.acra.ACRA.init(ACRA.java:144)
at org.acra.ACRA.init(ACRA.java:127)
at pl.jawegiel.endlessblow.MyApplication.attachBaseContext(MyApplication.java:18)
at android.app.Application.attach(Application.java:181)
at android.app.Instrumentation.newApplication(Instrumentation.java:991)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4539)
at android.app.ActivityThread.access$1300(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1358)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:5225)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
i jest o wiele więcej errorów jak ten:
java.util.ServiceConfigurationError: Couldn't instantiate class org.acra.config.DialogConfigurationBuilderFactory
java.util.ServiceConfigurationError: Couldn't instantiate class org.acra.collector.ConfigurationCollector
Couldn't instantiate class ...
i tak dalej. Jaka jest minimalna wersja Androida wymagana do ACRA crash reporting? A może przyczyna tych błędów leży gdzie indziej?