{"action":"opened","issue":{"url":"https://api.github.com/repos/ACRA/acra/issues/709","repository_url":"https://api.github.com/repos/ACRA/acra","labels_url":"https://api.github.com/repos/ACRA/acra/issues/709/labels{/name}","comments_url":"https://api.github.com/repos/ACRA/acra/issues/709/comments","events_url":"https://api.github.com/repos/ACRA/acra/issues/709/events","html_url":"https://github.com/ACRA/acra/issues/709","id":369853536,"node_id":"MDU6SXNzdWUzNjk4NTM1MzY=","number":709,"title":"ACRA 5.2.0 config via ServiceLoader has issues","user":{"login":"william-ferguson-au","id":670599,"node_id":"MDQ6VXNlcjY3MDU5OQ==","avatar_url":"https://avatars3.githubusercontent.com/u/670599?v=4","gravatar_id":"","url":"https://api.github.com/users/william-ferguson-au","html_url":"https://github.com/william-ferguson-au","followers_url":"https://api.github.com/users/william-ferguson-au/followers","following_url":"https://api.github.com/users/william-ferguson-au/following{/other_user}","gists_url":"https://api.github.com/users/william-ferguson-au/gists{/gist_id}","starred_url":"https://api.github.com/users/william-ferguson-au/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/william-ferguson-au/subscriptions","organizations_url":"https://api.github.com/users/william-ferguson-au/orgs","repos_url":"https://api.github.com/users/william-ferguson-au/repos","events_url":"https://api.github.com/users/william-ferguson-au/events{/privacy}","received_events_url":"https://api.github.com/users/william-ferguson-au/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-14T00:09:10Z","updated_at":"2018-10-14T00:09:10Z","closed_at":null,"author_association":"MEMBER","body":"With the following ACRA config and acra-core, acra-http dependencies the HttpSender is never found and the NullSender reports that \"reports will NOT be sent - no valid ReportSender was found!\"\r\n\r\n```\r\n@AcraCore(\r\n    buildConfigClass = BuildConfig.class,\r\n    reportFormat = StringFormat.KEY_VALUE_LIST,\r\n    reportContent = { // These are the field used by Bugsense. I need to trim down because the Post was too big and Bugsense was canning it with a Http-400.\r\n        ReportField.DISPLAY,\r\n        ReportField.SETTINGS_SECURE,\r\n        ReportField.STACK_TRACE,\r\n        ReportField.CUSTOM_DATA,\r\n        ReportField.USER_CRASH_DATE,\r\n        ReportField.PHONE_MODEL,\r\n        ReportField.APP_VERSION_NAME,\r\n        ReportField.APP_VERSION_CODE,\r\n        ReportField.PACKAGE_NAME,\r\n        ReportField.ANDROID_VERSION\r\n    }\r\n)\r\n@AcraHttpSender(httpMethod = HttpSender.Method.POST, uri = \"http://www.bugsense.com/api/acra?api_key=someApiKey\")\r\n```\r\n\r\nThe issue is the use of the ServiceLoader mechanism.\r\n\r\nThe ServiceLoader mechanism requires a text file in the META-INF/services folder named after the interface class and containing the implementation classes.\r\n\r\nThe ACRA libs don't ship with such text files and there is no documentation in the ACRA wiki to indicate they are required.\r\n\r\nFurthermore, the Android build tooling doesn't handle inclusion of Java resources particularly well so there is no simple way of declaring these in your project and having them stitched into your APK in the appropriate place.\r\n\r\nNB In order to get this to work I need to manually add these 2 files to my APK.\r\n\r\nMETA-INF/services/org.acra.config.ConfigurationBuilderFactory\r\n```\r\norg.acra.config.HttpSenderConfigurationBuilderFactory\r\norg.acra.config.DialogConfigurationBuilderFactory\r\n```\r\n\r\nMETA-INF/services/org.acra.sender.ReportSenderFactory\r\n```\r\norg.acra.sender.HttpSenderFactory\r\n```\r\n\r\n"}}
{"actor":{"display_login":"william-ferguson-au"}}