I have an application on the Play Store, which I update regularly with android tools update and dependencies update but that's it.
I just ensure it compile and work with the latest Android platform and support libraries.
I don't add any features or anything.
Recently I've been received a lot of crash on ActivityThread.java with the message:
Fatal Exception: android.app.RemoteServiceException
Bad notification posted from package xxx.xxx.xxx: Couldn't create icon: StatusBarIcon(pkg=gxxx.xxx.xxxsuser=0 id=0x7f03002d level=0 visible=true num=0 )
My application do receive notification, I use the intercom SDK for that, which is registered like so
Intercom.client().setupGCM(token, R.mipmap.notification_icon);
Basically I don't intercept the notification myself, I just use an AsyncTask to request the GCM token and that's it.
Now it appears that every time the production app receive notifications, it silently fail to create the notification and crash the app, as per the report I got.
Prior to an Android 3.0 and compileSDK 26 build, I didn't had this issue.
I didn't change nor the code which handle notifications, nor the Intercom SDK version.
Did I mention I can't myself replicate the issue, with both a debug and production build on my phone, I can receive notification just fine.
But I got a lot of those crashes in the wild like a lot. As you can except when thousands of notifications are sent to the same app.
But it seems to be concentrated on Samsung phone with Android 7. But not only.
I guess and I hope I'm not the only one having this issue, I bet there is something that have changed in the APK generation or the support libraries I'm not aware of. If you have any clues, it would be welcome.
AS 3.0 uses new gradle version. In my app I have the same issue. It's caused by new resource IDs. If you compare R.java files, generated by different gradle versions, you can see that same resources have different IDs. In my case, I use DevToDev SDK to receive push messages. I initialize SDK and pass resources used in notifications in MainActivity, obviously, if user will not start app after update, there will be old IDs for recources used in notification. This causes app to crash. I haven't solved my issue yet, the only way I can offer you to solve it is to use BroadcastReceiver to catch app update event
<receiver android:name=".AppUpdateBroadcastReceiver" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</intent-filter>
</receiver>
and to initialize your SDK there.
If you want to replacate this issue, you can try to do these steps:
Install old version of app, launch it and make sure that notifications are working properly
Disable auto launching after installing apk from AS
Install new version of app (built with new gradle version), but do not launch it
Send test notification to your device
Related
I want to get location updates in background when app is minimized. So I created a demo Flutter application with a service in native Android which I can run in foreground to get the continuous location updates for application and it is working fine as my expectation it is updating locations in notifications (for test).
Then I tried to implement same service with actual Flutter application with same service mentioned in manifest file same as demo application but my application is crashing on starting so I can't debug and in addition to that I don't get any error in building.
My main Flutter application is working fine without the location service implementation so only issues is after implementation it causes crashing.
What could be the issue and solution for this problem or how can I find out what is the problem?
I am doing same thing in original Flutter application same as in this dart code of demo application. How can I investigate this problem?
I am adding my answer regarding the question mentioned above.
in my case, it was not a foreground service which was crashing application but the issue was that As the flutter is growing framework, We get lot of updates & changes. With one of those Flutter update, Flutter updated plugin registration process for app on native side so some plugin with older version dependencies doesn't get registered with app as flutter doesn't support FlutterView(deprecated) anymore.
Note: Always make sure your plugin dependencies are updated to latest version of its dependencies in pubspec.yaml.
For me, My main application and demo application created for foreground was working according to my expectation but when I merge them it was crashing because camera plugin dependency version was too old. Second thing you can do is which can also reduce chances of error due to androidx compatibilty as well. Though, it is not too tough to do in old app as well.
Note : Create new flutter project and move your all dart code to new application.
Please be careful while doing this option.
-- Don't forget to add permissions in manifest files which you are accessing in app.
-- Don't forget to add assets and resources used on native side if you have added or changed.
-- Don't forget to set version according to version of old app.
-- Don't forget to make changes in your gradle files if any of app dependencies use that configurations like minimum sdk, targetSdk, etc... (if it applies in your case)
If you don't find this useful you can run your android side code in android studio and can find out what is the problem by debugging that code and fix it. Thanks
I have tried every tip to solve this problem but it simply do not work. The problem accured after update of android studio to 3.01 + gradle. I have older dependencies and gradle + android studio on my laptop and it works without any problem. I just want get access to Android device monitor to look up into my sqlite database files.
I tried simply kill, restart adb process, use different port then 8701, edit host file but without any progress into resolving this issue.
Everything except Device monitor works fine. I am able to launch application on emulator and actual phone. Maybe someone met this issue after updating program and have some sort of magic solution.
Found a problem earlier but forgot to post it here. It appears to be a issue with platform level 24 and above. You need to work on level 23 in order to use android device monitor.
I have the following issue (since about a week) and unfortunately I have not been able to resolve it:
I'm using applozic especially as a video chat feature for my app. I want to deploy it on an android 6.0 powered smart glasses devices. The app starts, connects to the applozic server, all functions from my app work well and then, when I try to connect a WebRTC video call, this is what happens:
01-31 11:02:41.331 3580-3580/com.package.name W/System.err:
java.lang.IllegalArgumentException: FRONT_CAMERA is not supported on
this device [...]
Audio works, the chat feature works, so I "believe" the error message that is thrown. Is there anything I can do from my side to fix this issue, or is applozic simply not supporting devices that only have one camera?
I already tried the following:
Uninstalled and reinstalled the camera app
Installed a different android camera app
Added all additional manifest permissions I could think of
Logged into the web app (Java Script API) with the device and it works
Tested it with 5 different smart phones and it worked well, which made me
believe applozic does not support devices that only have 1 camera.
Compiled + Targeted a higher and a lower SDK
After contacting applozic (they responded very fast what I appreciated), I was presented with a workaround approach by inserting a modified audioVideo module. After tweaking this module a little bit, I'm now able to use a device that either only has a front, or back camera when doing a live video call.
So I suggest that if you run into the same issue, you contact applozic support: https://www.applozic.com/ and refer to this stackoverflow thread.
The problem I'm trying to solve- I'm trying to get deep linking working, and testing it with Emulator. When clicking on posts, the links direct to the mobile web site. This is in the case of the user having permissions for the app, and the app is installed (on the emulator). In the Facebook app, it even acknowledges its out of date, but an upgrade (in app) crashes.
I also noticed that the Facebook app installed on the emulator is out of date (I installed it via adb install facebook.apk from github sdk).
SSO is working fine, and I have setup deeplinking effectively with iOS before (So I know how ti's supposed to work/test it, etc.). But the port to Android is being held back by this out of date 3rd party Facebook app. I'm assuming testing on device will solve it, because there the Facebook app will be the latest (which brings to mind- what if people haven't updated their android facebook app?).
My app settings:
I'd post code, but this seems to be pure integration and configuration issues.
Note: my app isn't published on Google Play, could that be the issue?
Also: maybe this is only testable on the device? My device is "in the mail" so trying to get this done with emulator as much as i can.
Update: Facebook told me that this requires the Facebook app 1.9.* which is not in the SDK. So, I got my hands on a device, and while I haven't solved it, at least the app bookmark functionality is working. Will update if/when I find the answer.
Update 11am: I finally got it to work!
I had to publish my app in the Play/Market.
Each time I tested, log out of FB-Android app, clear cache, and force stop. Acc.
to the documentation the bookmarks are cached. I also think the
facebook app-syncing occurs on launch, and never again. So if you
change anything in FB's app settings, you need to log out/clear
cache/stop for it to take in the fb android app.
Only one key worked, even though it says "hash" in the fb app settings, I think
my dev key was screwing things up. Double-confirm that your release
key is the same as the one listed in app settings.
The final secret sauce for me, was to turn off SSO and deeplinking, re-test
without anything set. Also, remove dev package from phone and
download from Play. (see: key mixups). then, I stepped back through
the configurations by first turning on SSO, testing, then turning on
the native deep linking.
Only works on real device, not emulator (unless you can get 1.9 installed on emulator, may work, did not go down that route to test)
Not sure if this matters, but it may: install app from Store/Play, not from Eclipse. Could be the key syncing thing.
I figured it out- involved doing the following:
I had to publish my app in the Play/Market.
Each time I tested, log out of FB-Android app, clear cache, and force stop. Acc. to the documentation the bookmarks are cached. I also think the facebook app-syncing occurs on launch, and never again. So if you change anything in FB's app settings, you need to log out/clear cache/stop for it to take in the fb android app.
Only one key worked, even though it says "hash" in the fb app settings, I think my dev key was screwing things up. Double-confirm that your release key is the same as the one listed in app settings.
The final secret sauce for me, was to turn off SSO and deeplinking, re-test without anything set. Also, remove dev package from phone and download from Play. (see: key mixups). then, I stepped back through the configurations by first turning on SSO, testing, then turning on the native deep linking.
Only works on real device, not emulator (unless you can get 1.9 installed on emulator, may work, did not go down that route to test)
Not sure if this matters, but it may: install app from Store/Play, not from Eclipse. Could be the key syncing thing.
Have you had a look at the troubleshooting tips for deep linking? (Sorry, have to ask.)
I'm wondering if perhaps the FB app on your device was not properly quit after the relevant setting changes.
I'm trying to write some apps using wikitude, and I'm having some problems running even the example.
I've put the sample ( BasicOpenARDemo ) that comes with the SDK inside eclipse and tried to run it, where I encountered the next error: "wikitude was not found on the system. Please press the ok-button to access the Android market and download wikitude."
First question- I don't understand- Why am I approached to download the utility when I have a standalone sample inside my eclipse? Doesn't the core files behind Wikitude come with the SDK or the sample itself?
The next question will be - after some googling, I've found that in order to install this "Android market" I need to follow the manual that comes in the 9th message in the next thread (the message that was written by ronni.rasmussen) -
http://forum.xda-developers.com/archive/index.php/t-529170.html
Well, I've followed it, and now when I try to press the OK button that comes after the "wikitude was not found on the system..." message, I get redirected to the Android market, where I find Wikitude, but when I try to download it- I get a "Download was unsuccessful. Please try again" error message. How do I fix that?
One more thing that I don't understand- How come it's written in this offline Android market that the available wikitude version is for android 1.5 and no longer maintained?
As you can see- I'm quite baffled here. Hope someone could clear this up for me.
I was with the exact same problem. The problem was that installing Wikitude from the market (following the link you provided) does not guarantee to have the system requirements supported in the virtual device, therefore it gives an error when you run the BasicOpenARDemo, if it let you install it at all.
The solution was creating an AVD with an GoogleAPI (it includes maps support, I used the level 10 API for Android 2.3.3, it didn't work for the level 8 API), adding the camera, accelerometer, compass, GPS, etc., support to the virtual device (I did this via Eclipse). Then I downloaded the .apk for Wikitude and installed it via command line (.adb).