Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Few crashes causing issues lately #109

Closed
kavins opened this issue Oct 11, 2015 · 18 comments
Closed

Few crashes causing issues lately #109

kavins opened this issue Oct 11, 2015 · 18 comments

Comments

@kavins
Copy link

kavins commented Oct 11, 2015

Hi, I have been using Apptentive SDK from long time in my app. Lately I am facing two crashes with v2.0.1. And its affecting quiet a good number of users. I am pasting the error log of both the crashes below. Any help would be appreciated.

Issue 1 :

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.app.Activity.getSharedPreferences(java.lang.String, int)' on a null object reference
at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.saveOrClearPendingComposingMessage(MessageCenterActivityContent.java:1080)
at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.cleanup(MessageCenterActivityContent.java:474)
at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.onBackPressed(MessageCenterActivityContent.java:468)
at com.apptentive.android.sdk.ViewActivity.onBackPressed(ViewActivity.java:280)
at android.app.Activity.onKeyUp(Activity.java:2466)
at android.view.KeyEvent.dispatch(KeyEvent.java:2656)
at android.app.Activity.dispatchKeyEvent(Activity.java:2717)
at android.support.v7.internal.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:50)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent(AppCompatDelegateImplBase.java:224)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2276)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4090)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4052)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3604)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3657)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3623)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3740)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3631)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3797)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3604)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3657)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3623)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3631)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3604)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3657)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3623)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3773)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3934)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2283)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1924)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1915)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2260)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:143)
at android.os.Looper.loop(Looper.java:122)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

Issue 2 :

java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Parcelable android.widget.ListView.onSaveInstanceState()' on a null object reference
at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.onSaveInstanceState(MessageCenterActivityContent.java:448)
at com.apptentive.android.sdk.ViewActivity.onSaveInstanceState(ViewActivity.java:333)
at android.app.Activity.performSaveInstanceState(Activity.java:1297)
at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1272)
at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:3952)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3363)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3419)
at android.app.ActivityThread.access$1200(ActivityThread.java:147)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1325)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)

@kavins kavins changed the title Latest SDK version crashing Few crashes causing issues lately Oct 11, 2015
@barry-li
Copy link
Contributor

Hi Kavin,

Thank you for reporting this issue. The initial investigation indicates both of these crashes were caused in abnormal Activity lifecycle, resulting in our Message Center onCreate() not being called to initiate. We haven't seen such abnormality being reported, so it will be very helpful if you could assist us pinpoint the exact scenario.

  1. If those crashes are reported from Google Play Developer Console, what are the API levels/devices these were collected from?
  2. How do you use Apptentive Message Center feature in your product? i.e. Through feedback link, or launch button. Do you enable Apptentive Push?

As always, your feedback is very appreciated!

@barry-li
Copy link
Contributor

Hi Kavin,

One more piece of information that will be very valuable to share with us is the log of the crashing app.

thanks

@kavins
Copy link
Author

kavins commented Oct 11, 2015

Hi Barry,

Would be happy to help you out with the necessary information. They are as follows :

  1. Actually we have integrated Crashlytics SDK to monitor/capture the crashes in our app. Got to know from it. Also the crashes doesn't seem to be device or OS specific. They have occured in multiple devices running Android OS 4.x. 5.x & 6.x

  2. We are using Apptentive in our application just for rating prompt(for now) and enabled Google Play Store page rating. And its been the same from very beginning. We haven't changed any code/configuration related to Apptentive lately. Only change I remember making is, when I updated the SDK to latest version(2.0.1), changed the theme of the Apptentive ViewActivity in manifest to "@style/ApptentiveTheme.Transparent" from "@style/Apptentive.Theme.Transparent".

Any more info you need to resolve it, let me know. Also on an additional note it have crashed for around 3000 times for 2500 users till now.

@barry-li
Copy link
Contributor

Hi Kavin,

Thanks for the quick response. Information you provided is very helpful, especially you mentioned rating prompt has been the only Apptentive feature you enable. May I confirm with you that you never use Apptentive Message Center feature even with the prior Apptentive SDK? Have you ever seen Message Center being launched after upgrading to 2.0.1? Because all crashes point to launching Message Center activity, I wonder if the feature is somehow enabled. May I also know your email used to register Apptentive Console? I would like to check your app configuration on the server side to further diagnose.

Again, thank you very much

@kavins
Copy link
Author

kavins commented Oct 12, 2015

Hi Barry,

If you could share your Email Id, will send you the email used to register Apptentive console along with few screenshots which might help you further. Or else should I mail it to support@apptentive.com? Or do you want me to share it here itself?

@barry-li
Copy link
Contributor

Hi Kavin,

I can find your registration from our support team. Could you confirm that your customer are able to see Message Center, a.k.a FeedBack if they click "No" on rating prompt? Both before the upgrade and After? Because from the crash trace, it doesn't look like the Message Center/Feedback activity was properly created.

Thanks

@kavins
Copy link
Author

kavins commented Oct 12, 2015

Hi Barry,

Nope. When they click "No", the screen blacks out and freezes for sometime before crashing. When I tracked back, I did find the issue have happened even before the SDK update but was very minimal so I didn't get notified about it. But I could assure you that our customers were able to see the FeedBack before and even I have tested it quiet good number of times. Also we constantly used to receive FeedBack by the users through Apptentive. Only today morning when I debugged I did see the crash for the first time in my testing.

Thanks

@barry-li
Copy link
Contributor

A few more things to check with you:
Are you using Android Studio with Gradle set up to get Android Support libraries? Make sure you have the following included:
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:cardview-v7:23.0.1'

If you enable proguard, make sure to follow our suggested configuration:
https://www.apptentive.com/docs/android/features/#ProGuard Configuration

@kavins
Copy link
Author

kavins commented Oct 12, 2015

Yeah I am using Android Studio with Gradle set up to get Android Support libraries. I have included appcompat but support and cardview are not included. Also haven't enabled proguard for now. So, you want me to configure other two libraries(support & cardview) too?

Also one more query, is there a way to disable rating prompt from the Apptentive console for particular version of app? If so will do it for now, so that we will at least avoid further crashes till the issue is sorted out.

@barry-li
Copy link
Contributor

Yes, you definitely need the other two support libraries. And yes, you may only target the rating prompt to specific app version. Click "Rating Prompt - SDK V2.0" Left Panel, then click on the Targeting tab, and Who section, add a rule. Choose Versioning: application version, "is", "your app version number".

Note, the "your app version number" is PackageInfor::versionName

@kavins
Copy link
Author

kavins commented Oct 12, 2015

Yeah sure will add those libraries. Just want to confirm with you, will adding those libraries resolve those crashes? Were those missing libraries were the root cause for the problem?

Thanks for your time in advance.

@barry-li
Copy link
Contributor

Without those support libraries, the New Message Center/Feedback activity will not be created properly for sure. I strongly suggest you to include them first, and test again. Even though I can't 100% sure the crashes will be gone, especially you had crashes before the upgrade, but the latest crash traces have strong indications that Message Center/Feedback were not created properly.

Please keep me posted after you include those missing support libraries.

@kavins
Copy link
Author

kavins commented Oct 12, 2015

Yeah I have added them. Will test it out and let you know irrespective of whether those issues got resolved or not. Seems the Apptentive API documentation is updated recently when the latest version got released, where it says to include all the above three libraries. But I didn't get a chance to visit the updated documentation to include those changes in my app. Anyways once again thanks for your time and response.

@kavins
Copy link
Author

kavins commented Oct 12, 2015

Hi Barry,

I created a test app(after adding those two libraries in gradle) in Apptentive console and used the API key of that app to debug the issues. And again the app crashed when I pressed "No" in rating prompt. But this time it seems to be a different issue. I am pasting the complete logcat for your reference :

10-12 14:39:47.905 5142-5142 E/Apptentive﹕ android.view.InflateException: Binary XML file line #15: Error inflating class
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:255)
at com.apptentive.android.sdk.ViewActivity.setContentView(ViewActivity.java:76)
at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.doOnCreate(MessageCenterActivityContent.java:272)
at com.apptentive.android.sdk.module.engagement.interaction.view.InteractionView.onCreate(InteractionView.java:40)
at com.apptentive.android.sdk.ViewActivity.onCreate(ViewActivity.java:212)
at android.app.Activity.performCreate(Activity.java:5953)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
at android.app.ActivityThread.access$800(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:255)
            at com.apptentive.android.sdk.ViewActivity.setContentView(ViewActivity.java:76)
            at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.doOnCreate(MessageCenterActivityContent.java:272)
            at com.apptentive.android.sdk.module.engagement.interaction.view.InteractionView.onCreate(InteractionView.java:40)
            at com.apptentive.android.sdk.ViewActivity.onCreate(ViewActivity.java:212)
            at android.app.Activity.performCreate(Activity.java:5953)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
            at android.app.ActivityThread.access$800(ActivityThread.java:148)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5312)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 13
at android.content.res.TypedArray.getDrawable(TypedArray.java:747)
at android.view.View.(View.java:3735)
at android.view.ViewGroup.(ViewGroup.java:491)
at android.widget.LinearLayout.(LinearLayout.java:200)
at android.widget.LinearLayout.(LinearLayout.java:196)
at android.widget.LinearLayout.(LinearLayout.java:192)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:255)
            at com.apptentive.android.sdk.ViewActivity.setContentView(ViewActivity.java:76)
            at com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.doOnCreate(MessageCenterActivityContent.java:272)
            at com.apptentive.android.sdk.module.engagement.interaction.view.InteractionView.onCreate(InteractionView.java:40)
            at com.apptentive.android.sdk.ViewActivity.onCreate(ViewActivity.java:212)
            at android.app.Activity.performCreate(Activity.java:5953)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
            at android.app.ActivityThread.access$800(ActivityThread.java:148)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5312)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
10-12 14:39:47.907 5142-5142/in.coupondunia.androidapp V/Apptentive﹕ Sending Error Metric: error, data: {"thread":"main","exception":{"message":"Binary XML file line #15: Error inflating class ","stackTrace":"android.view.InflateException: Binary XML file line #15: Error inflating class \n\tat android.view.LayoutInflater.createView(LayoutInflater.java:633)\n\tat com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)\n\tat android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)\n\tat android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)\n\tat android.view.LayoutInflater.rInflate(LayoutInflater.java:806)\n\tat android.view.LayoutInflater.inflate(LayoutInflater.java:504)\n\tat android.view.LayoutInflater.inflate(LayoutInflater.java:414)\n\tat android.view.LayoutInflater.inflate(LayoutInflater.java:365)\n\tat android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:255)\n\tat com.apptentive.android.sdk.ViewActivity.setContentView(ViewActivity.java:76)\n\tat com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.doOnCreate(MessageCenterActivityContent.java:272)\n\tat com.apptentive.android.sdk.module.engagement.interaction.view.InteractionView.onCreate(InteractionView.java:40)\n\tat com.apptentive.android.sdk.ViewActivity.onCreate(ViewActivity.java:212)\n\tat android.app.Activity.performCreate(Activity.java:5953)\n\tat android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)\n\tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)\n\tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)\n\tat android.app.ActivityThread.access$800(ActivityThread.java:148)\n\tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)\n\tat android.os.Handler.dispatchMessage(Handler.java:102)\n\tat android.os.Looper.loop(Looper.java:135)\n\tat android.app.ActivityThread.main(ActivityThread.java:5312)\n\tat java.lang.reflect.Method.invoke(Native Method)\n\tat java.lang.reflect.Method.invoke(Method.java:372)\n\tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)\nCaused by: java.lang.reflect.InvocationTargetException\n\tat java.lang.reflect.Constructor.newInstance(Native Method)\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:288)\n\tat android.view.LayoutInflater.createView(LayoutInflater.java:607)\n\t... 25 more\nCaused by: java.lang.RuntimeException: Failed to resolve attribute at index 13\n\tat android.content.res.TypedArray.getDrawable(TypedArray.java:747)\n\tat android.view.View.(View.java:3735)\n\tat android.view.ViewGroup.(ViewGroup.java:491)\n\tat android.widget.LinearLayout.(LinearLayout.java:200)\n\tat android.widget.LinearLayout.(LinearLayout.java:196)\n\tat android.widget.LinearLayout.(LinearLayout.java:192)\n\t... 28 more\n"}}
10-12 14:39:53.451 5142-5333/in.coupondunia.androidapp D/Apptentive﹕ POST body: {"event":{"nonce":"7e24c18d-d63d-4a68-a220-10c6f615b4f8","client_created_at":1.444640987907E9,"client_created_at_utc_offset":19800,"label":"error","data":{"thread":"main","exception":{"message":"Binary XML file line #15: Error inflating class ","stackTrace":"android.view.InflateException: Binary XML file line #15: Error inflating class \n\tat android.view.LayoutInflater.createView(LayoutInflater.java:633)\n\tat com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)\n\tat android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)\n\tat android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)\n\tat android.view.LayoutInflater.rInflate(LayoutInflater.java:806)\n\tat android.view.LayoutInflater.inflate(LayoutInflater.java:504)\n\tat android.view.LayoutInflater.inflate(LayoutInflater.java:414)\n\tat android.view.LayoutInflater.inflate(LayoutInflater.java:365)\n\tat android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:255)\n\tat com.apptentive.android.sdk.ViewActivity.setContentView(ViewActivity.java:76)\n\tat com.apptentive.android.sdk.module.messagecenter.view.MessageCenterActivityContent.doOnCreate(MessageCenterActivityContent.java:272)\n\tat com.apptentive.android.sdk.module.engagement.interaction.view.InteractionView.onCreate(InteractionView.java:40)\n\tat com.apptentive.android.sdk.ViewActivity.onCreate(ViewActivity.java:212)\n\tat android.app.Activity.performCreate(Activity.java:5953)\n\tat android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)\n\tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)\n\tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)\n\tat android.app.ActivityThread.access$800(ActivityThread.java:148)\n\tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)\n\tat android.os.Handler.dispatchMessage(Handler.java:102)\n\tat android.os.Looper.loop(Looper.java:135)\n\tat android.app.ActivityThread.main(ActivityThread.java:5312)\n\tat java.lang.reflect.Method.invoke(Native Method)\n\tat java.lang.reflect.Method.invoke(Method.java:372)\n\tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)\nCaused by: java.lang.reflect.InvocationTargetException\n\tat java.lang.reflect.Constructor.newInstance(Native Method)\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:288)\n\tat android.view.LayoutInflater.createView(LayoutInflater.java:607)\n\t... 25 more\nCaused by: java.lang.RuntimeException: Failed to resolve attribute at index 13\n\tat android.content.res.TypedArray.getDrawable(TypedArray.java:747)\n\tat android.view.View.(View.java:3735)\n\tat android.view.ViewGroup.(ViewGroup.java:491)\n\tat android.widget.LinearLayout.(LinearLayout.java:200)\n\tat android.widget.LinearLayout.(LinearLayout.java:196)\n\tat android.widget.LinearLayout.(LinearLayout.java:192)\n\t... 28 more\n"}}}}

@barry-li
Copy link
Contributor

do you have the following line included in your AndroidManifest.xml:?

The error may indicate the Apptentive feedback activity is missing the theme that specifies the required style, i.e. Line 15 of the layout file. Make sure "com.apptentive.android.sdk.ViewActivity" is either using the new ApptentiveThem, or any theme inherits it.

@kavins
Copy link
Author

kavins commented Oct 12, 2015

I have included "android:theme="@style/ApptentiveTheme.Transparent" in the manifest since I already used transparent theme for Apptentive in previous versions and I wanted the same in this version too.

@barry-li
Copy link
Contributor

I see the problem. @style/ApptentiveTheme.Transparent is an internal Apptentive theme specifically used for dialogs and popups that don't have title bar. It does not have all required attributes defined. Please use @style/ApptentiveTheme in your manifest. Internally, we still use ApptentiveTheme.Transparent where they were used in the previous version, so you don't need to worry about backwards compatibility

@kavins
Copy link
Author

kavins commented Oct 13, 2015

Hi Barry,

Yeah it works now. Thanks for your constant support since past two days to help me resolve those issues :)

didldum pushed a commit to didldum/apptentive-android that referenced this issue Jan 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants