I've published an Android live wallpaper for which I have recently started to get this strange force close error:
java.lang.RuntimeException: Failed to register input channel. Check logs for details.
at android.view.InputQueue.nativeRegisterInputChannel(Native Method)
at android.view.InputQueue.registerInputChannel(InputQueue.java:92)
at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:521)
at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:651)
at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:875)
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
According to this StackOverflow page the issue might be with Launcher Pro.
I want to avoid getting bad ratings for this. Is there any way to communicate with the users who send me this error report that it is not the fault of my program, and that they should run the wallpaper through their normal home screen?
I could post a note on the app's Android Market page, but that would seem to be a major distraction for an infrequent error.
You should push an update that checks for the installation of Launcher Pro and alert the user accordingly. Your market page should also have a small note somewhere that there are compatibility issues with Launcher Pro.
Check for Launcher Pro this way:
// this is the package name for Launcher Pro
String packName = "com.fede.launcher";
PackageManager packMan = getPackageManager();
// check if package exists
PackageInfo info = mPm.getPackageInfo(packName, 0);
// if info is not null, Launcher Pro is installed
Related
Background
My app has a small PlusOne button in it (using Google-Play-Services rev. 21.0.2) , and recently I got the next crash report from one of the users
java.lang.NoClassDefFoundError: android.os.AsyncTask
at com.google.android.gms.plus.data.internal.PlusImageView.a(SourceFile:60)
at com.google.android.gms.plus.internal.bw.a(SourceFile:917)
at com.google.android.gms.common.internal.v.d(SourceFile:200)
at com.google.android.gms.common.internal.u.handleMessage(SourceFile:136)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3770)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
at dalvik.system.NativeStart.main(Native Method)
The problem
I've followed all of the instructions of the Play Services for a very long time (including the Proguard part), and never had this issue before.
The weird thing is that I've succeeded running the app on multiple devices without any issue, and there are quite a lot of users out there that use my app . Many also uninstall, but this is the first time I get this crash.
The question
I'm not a Proguard expert, but is it maybe possible that this is the reason for it?
What could be the reason for this issue?
How can I fix this issue?
I've tried to search for this problem and there isn't even a single website that I've found regarding it.
I have received a few crash reports and I am unsure what has cause them.
It is only in a recent update that this has started happening. This may mean that it just didn't happen before or I introduced it. The only thing to do with the network is register for a permission to check the network in the Android Manifest.
Anyway I hope you can point me in the direction. Here is the crash report.
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000000 (has extras) } in maps.z.bz#405d7d40
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:722)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3691)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Receiver not registered: maps.z.bz#405d7d40
at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:610)
at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:853)
at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331)
at maps.z.bz.onReceive(Unknown Source)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:709)
... 9 more
This is happening if you're using the Maps V2 api with the old (revision 4) library and the new (3.0.25) version of the Google Play services.
It seems that Google broke the backward compatibility so if people upgrade their Google Play services the app released with the old library will be broken.
You have two possibilities at this point:
Release a new version of your app and update to the new library
Revert back to the old maps
I've raised a ticket and Google already acknowledged it:
http://code.google.com/p/gmaps-api-issues/issues/detail?id=5025&thanks=5025&ts=1362047877
Please star it to get a higher priority from Google.
I am using Facebook android SDK 3.0 (quite new to it), and running the sample SessionLoginSample located in the sample directory of the downloaded SDK. The target is to test if the session login sample can trigger the browser and lead user to the Facebook login page without the Facebook for Android application installed. No luck, the SessionLoginSample force closed.
However, if the Facebook for Android app installed, the user could be lead to the login activity of the app. Enter the account/password then go back the SessionLoginSample without any issue. It looks like the Session object won't trigger browser and lead user to Facebook login page?
Edit: append the log
02-10 15:35:46.180: ERROR/AndroidRuntime(29604): FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to resume activity {com.facebook.samples.sessionlogin/com.facebook.LoginActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x7f050012
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2455)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2483)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1997)
at android.app.ActivityThread.access$600(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4511)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f050012
at android.content.res.Resources.getText(Resources.java:260)
at android.content.res.Resources.getString(Resources.java:344)
at android.content.Context.getString(Context.java:282)
at com.facebook.widget.WebDialog.onCreate(WebDialog.java:188)
at android.app.Dialog.dispatchOnCreate(Dialog.java:353)
at android.app.Dialog.show(Dialog.java:257)
at com.facebook.AuthorizationClient$WebViewAuthHandler.tryAuthorize(AuthorizationClient.java:461)
at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:209)
at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:188)
at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:116)
at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:97)
at com.facebook.LoginActivity.onResume(LoginActivity.java:113)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1157)
at android.app.Activity.performResume(Activity.java:4544)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2445)
... 12 more
Solve the original problem:
Just found the strings.xml file in the values folder in the res folder of Facebook android SDK has been changed! The WebDialog works without problem after copy the string items back. Quite weird, I NEVER change that file manually. I am using IntelliJ IDEA 12 as the IDE to build and run my project. Might be this problem caused by IntelliJ IDEA??
Do you have any debug log you can share ? It's quite possible that something hasn't built properly as I have run the app without having a facebook app installed on my device. The app shows a loginButton which triggers the login dialog.
Have been getting a really weird error recently from an android app I am developing.
Part of the app has a Map view with a list of locations displayed as an AutoCompleteTextView. On every device and emulator I tested this function performs as expected. However, whenever a user with an HTC Thunderbolt phone (running 2.3.4) tries to select an item in the list, the application crashes.
Here is my stack trace from the Bug Reports I have received:
java.lang.NullPointerException
at com.package.my.e.onItemClick(Unknown Source)
at android.widget.AutoCompleteTextView.performCompletion(AutoCompleteTextView.java:1022)
at android.widget.AutoCompleteTextView.access$1300(AutoCompleteTextView.java:99)
at android.widget.AutoCompleteTextView$DropDownItemClickListener.onItemClick(AutoCompleteTextView.java:1597)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3561)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4306)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Any ideas?
Here is what I get when doing Autocompletetextview on Thunderbolt. The white suggestion fields only show suggestions if you press on them. So it seems actv and Thunderbolt is a bad combination.
I have an android app on Google Play and occasionally get the following error reported through the developer console / ACRA. The app runs fine on my test devices and on the various AVDs that I test it on.
The stack trace doesn't state where in the app the problem is. Is there anything I can do to narrow down where to look? What generally causes the error?
java.lang.IndexOutOfBoundsException
at android.graphics.Paint.native_measureText(Native Method)
at android.graphics.Paint.measureText(Paint.java:1020)
at android.graphics.Paint.measureText(Paint.java:1057)
at android.text.Styled.drawDirectionalRun(Styled.java:267)
at android.text.Styled.measureText(Styled.java:430)
at android.text.Layout.measureText(Layout.java:1518)
at android.text.Layout.getHorizontal(Layout.java:564)
at android.text.Layout.getHorizontal(Layout.java:548)
at android.text.Layout.getPrimaryHorizontal(Layout.java:533)
at android.widget.TextView$QuickAction.getBound(TextView.java:9550)
at android.widget.TextView$QuickAction.show(TextView.java:9604)
at android.widget.TextView$QuickActionController.show(TextView.java:8846)
at android.widget.TextView.performLongClick(TextView.java:8033)
at android.view.View$CheckForLongPress.run(View.java:9096)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller
.run(ZygoteInit.java:895)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653)
at dalvik.system.NativeStart.main(Native Method)
From the look of this, you have a race in your application initialization block. Probably one of your text resources is not fully inflated before a draw is issued. (i know, the model of the android runtime should prevent this, but if this happens when the layout is calculated, it would be plausible).
Hope this is of some help in narrowing it down.