I see the following ExactTarget initialization error in our crashlytics from user-devices:

com.exacttarget.etpushsdk.ETPushReceiver definition not found in AndroidManifest.xml ~!ETPush_ERROR:  ET PUSH SDK VERSION: 4.7.1 build 160600004 ~!ETPush_ERROR:  APP VERSION: 7.1.2 : 701029 ~!ETPush_ERROR:  Debug version: false ~!ETPush_ERROR:  configureSdk() Initialized with:  ~!ETPush_ERROR:  Context: de.mycompany.android.MyApplication@2f1cc66 ~!ETPush_ERROR:  ET App Id: {et_app_id} ~!ETPush_ERROR:  Access Token: {access_token} ~!ETPush_ERROR:  GCM Sender ID: {gcm_sender_id} ~!ETPush_ERROR:  Analytics: true ~!ETPush_ERROR:  WAMA: true ~!ETPush_ERROR:  Location: false ~!ETPush_ERROR:  Proximity: false ~!ETPush_ERROR:  CloudPages: false ~!ETPush_ERROR:  GOOGLE PLAY SERVICES REQUIRED VERSION AVAILABLE: true ~!ETPush_ERROR:  GOOGLE PLAY SERVICES REQUIRED VERSION: 9877000
ET push config failed! com.exacttarget.etpushsdk.ETException: com.exacttarget.etpushsdk.ETPushReceiver definition not found in AndroidManifest.xml at com.exacttarget.etpushsdk.ETPush$1.run(SourceFile:458) at java.lang.Thread.run(Thread.java:818)

But when I check the released APK-file the ETPushReceiver exists in the manifest (merged into it by the SDK):


                android:name="android.intent.action.BOOT_COMPLETED" />

                android:name="android.intent.action.ACTION_SHUTDOWN" />

                android:name="android.intent.action.AIRPLANE_MODE" />

                android:name="android.intent.action.MY_PACKAGE_REPLACED" />

                android:name="com.google.android.c2dm.intent.RECEIVE" />

                android:name="com.exacttarget.etpushsdk.SEND_REGISTRATION" />

                android:name="de.idealo.mycompany.MESSAGE_OPENED" />

                android:name="de.idealo.mycompany" />

JB4A SDK Version: 4.7.1

seen on Android 4.x - 6.x devices.


The only way we have ever been able to reproduce this issue is by using a 3rd party tool, on a rooted device, that allows a user to disable receivers/services for any application installed on the device.

As you noted, the Receiver's definition is present in the manifest. There is nothing we can do if the user chooses to manually disable it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.