Android AVD is crashing with NullPointerException on startup - android

I'm trying to set up an Android Virtual Device (AVD) on my Debian Wheezy machine. I run this command, and the AVD Manager opened like it should:
/.../android-sdk/tools/android avd
Then, I tried to add an AVD for an existing device, but it just didn't start up, without any error message. So I created my own device and an AVD for it, and it starts up, but just shows the Android splash screen without any changes for hours. I read through the LogCat (adb logcat) and found this error message being repeated about every minute:
E/AndroidRuntime( 1672): *** FATAL EXCEPTION IN SYSTEM PROCESS: WindowManager
E/AndroidRuntime( 1672): java.lang.NullPointerException
E/AndroidRuntime( 1672): at com.android.server.display.LocalDisplayAdapter$LocalDisplayDevice.getDisplayDeviceInfoLocked(LocalDisplayAdapter.java:147)
E/AndroidRuntime( 1672): at com.android.server.display.DisplayManagerService.handleDisplayDeviceAddedLocked(DisplayManagerService.java:852)
E/AndroidRuntime( 1672): at com.android.server.display.DisplayManagerService.handleDisplayDeviceAdded(DisplayManagerService.java:841)
E/AndroidRuntime( 1672): at com.android.server.display.DisplayManagerService.access$1100(DisplayManagerService.java:96)
E/AndroidRuntime( 1672): at com.android.server.display.DisplayManagerService$DisplayAdapterListener.onDisplayDeviceEvent(DisplayManagerService.java:1281)
E/AndroidRuntime( 1672): at com.android.server.display.DisplayAdapter$1.run(DisplayAdapter.java:108)
E/AndroidRuntime( 1672): at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 1672): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 1672): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1672): at android.os.HandlerThread.run(HandlerThread.java:61)
E/AndroidRuntime( 1672): Error reporting crash
E/AndroidRuntime( 1672): java.lang.NullPointerException
E/AndroidRuntime( 1672): at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:84)
E/AndroidRuntime( 1672): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
E/AndroidRuntime( 1672): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
I also tried to delete the $HOME/.android/avd folder and recreating the AVD, but it didn't help.
How can I fix this error? Note that I only have installed the SDK, not Eclipse.

Related

React Native App Crashes on Launch in Android (API 19)

Description
I have created a project with react-native-cli
When I launch the app using the command "react-native run-android" on Devices and Emulators with Android API level 21+ App is launching.
But for devices less than API 21, the app crashing on launch.
I have specified in android Gradle minSdk version to 16.
I viewed the stack trace using "adb logcat" the crash was due to OkHttp3 that is used internally in Facebook Flipper, which is expecting API 21+.
I haven't used any OkHttp3 Dependency explicitly in my app
React Native version:
6.14.4
Steps To Reproduce
Create a project using react-native CLI not Expo CLI
Navigate to the project folder
Connect a device or an emulator with API less than 21
run command "react-native run-android" to run the app on the connected device
Expected Results
The app should launch without any crash.
Android Logs
E/AndroidRuntime( 3745): java.lang.RuntimeException: Unable to create application com.infifive.MainApplication: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created
E/AndroidRuntime( 3745): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4347)
E/AndroidRuntime( 3745): at android.app.ActivityThread.access$1500(ActivityThread.java:135)
E/AndroidRuntime( 3745): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
E/AndroidRuntime( 3745): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 3745): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 3745): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime( 3745): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3745): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 3745): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime( 3745): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime( 3745): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 3745): Caused by: java.lang.RuntimeException: Requested enabled DevSupportManager, but DevSupportManagerImpl class was not found or could not be created
E/AndroidRuntime( 3745): at com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:90)
E/AndroidRuntime( 3745): at com.facebook.react.ReactInstanceManager.<init>(ReactInstanceManager.java:238)
E/AndroidRuntime( 3745): at com.facebook.react.ReactInstanceManagerBuilder.build(ReactInstanceManagerBuilder.java:281)
E/AndroidRuntime( 3745): at com.facebook.react.ReactNativeHost.createReactInstanceManager(ReactNativeHost.java:87)
E/AndroidRuntime( 3745): at com.facebook.react.ReactNativeHost.getReactInstanceManager(ReactNativeHost.java:39)
E/AndroidRuntime( 3745): at com.infifive.MainApplication.onCreate(MainApplication.java:47)
E/AndroidRuntime( 3745): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
E/AndroidRuntime( 3745): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4344)
E/AndroidRuntime( 3745): ... 10 more
E/AndroidRuntime( 3745): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 3745): at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime( 3745): at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
E/AndroidRuntime( 3745): at com.facebook.react.devsupport.DevSupportManagerFactory.create(DevSupportManagerFactory.java:80)
E/AndroidRuntime( 3745): ... 17 more
E/AndroidRuntime( 3745): Caused by: java.lang.ExceptionInInitializerError
E/AndroidRuntime( 3745): at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:263)
E/AndroidRuntime( 3745): at okhttp3.OkHttpClient.<init>(OkHttpClient.java:229)
E/AndroidRuntime( 3745): at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:1015)
E/AndroidRuntime( 3745): at com.facebook.react.devsupport.DevServerHelper.<init>(DevServerHelper.java:132)
E/AndroidRuntime( 3745): at com.facebook.react.devsupport.DevSupportManagerImpl.<init>(DevSupportManagerImpl.java:183)
E/AndroidRuntime( 3745): ... 20 more
E/AndroidRuntime( 3745): Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 19
E/AndroidRuntime( 3745): at okhttp3.internal.platform.AndroidPlatform.buildIfSupported(AndroidPlatform.java:238)
E/AndroidRuntime( 3745): at okhttp3.internal.platform.Platform.findPlatform(Platform.java:202)
E/AndroidRuntime( 3745): at okhttp3.internal.platform.Platform.<clinit>(Platform.java:79)`
The only way I found to fix it is by commenting out all the code associated with flipper
GH thread here
This happens because of an internal check in the library called "okhttp" where the newer versions are supporting only API 21 and above. If possible, reduce the okhttp version, or anything related to it such as Glide or Retrofit etc. That will solve your problem.

app still running after disable

I’ve installed an app I’ve written as a system app that after receiving ACTION_BOOT_COMPLETED it runs a service.
The app works just fine, however, I would like to disable it (and not remove it completely).
So I wrote on the command line “adb shell pm disable [The package name]” and after reboot, even though I do not see my app on the menu anymore, I still get a message “Unfortunately [myApp] has stopped”.
Logcat:
FATAL EXCEPTION: main
E/AndroidRuntime( 1356): java.lang.RuntimeException: Unable to instantiate service [package name] : java.lang.ClassNotFoundException: Didn't find class "[packagename.classThatStartsTheService]" on path: /system/app/app.apk
E/AndroidRuntime( 1356): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2516)
E/AndroidRuntime( 1356): at android.app.ActivityThread.access$1600(ActivityThread.java:144)
E/AndroidRuntime( 1356): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319)
E/AndroidRuntime( 1356): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1356): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 1356): at android.app.ActivityThread.main(ActivityThread.java:5074)
E/AndroidRuntime( 1356): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1356): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 1356): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime( 1356): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime( 1356): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1356): Caused by: java.lang.ClassNotFoundException: Didn't find class "[packagename.class that starts the service]" on path: /system/app/app.apk
E/AndroidRuntime( 1356): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
E/AndroidRuntime( 1356): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
E/AndroidRuntime( 1356): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
E/AndroidRuntime( 1356): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2513)
E/AndroidRuntime( 1356): ... 10 more
Does that mean the boot_completed is still recognized by my app but because it is disabled it cannot run? Or is it something else?
Thanks in advance!
So, apparently I had another app that had the option to activate my app (only when choosing so and not by default), so after reboot, it couldn’t find it’s apk as it was disabled. So I disabled the second app as well.

Google Drive SDK application to upload file

I am trying to use the Google Drive SDK to upload files, but I am getting a pop up saying unfortunately your application has stopped. This is due to a NoClassDefFoundError. I also made sure to include the play services jar and check it in the order and export tab as well.
This is the excpetion:
E/AndroidRuntime( 4906): java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
E/AndroidRuntime( 4906): at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.
newChooseAccountIntent(GoogleAccountCredential.java:253)
E/AndroidRuntime( 4906): at com.example.informationretreival.MainActivity.onCreate(MainActivity.java:42)
E/AndroidRuntime( 4906): at android.app.Activity.performCreate(Activity.java:5104)
E/AndroidRuntime( 4906): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
E/AndroidRuntime( 4906): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2147)
E/AndroidRuntime( 4906): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
E/AndroidRuntime( 4906): at android.app.ActivityThread.access$600(ActivityThread.java:144)
E/AndroidRuntime( 4906): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
E/AndroidRuntime( 4906): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 4906): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 4906): at android.app.ActivityThread.main(ActivityThread.java:5074)
E/AndroidRuntime( 4906): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4906): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 4906): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime( 4906): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime( 4906): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 771): Force finishing activity com.example.informationretreival/.MainActivity
I am following the quickstart on the developer website I have literally just copied the code. I would expect the quickstart example to work. Someone please point me in the right direction.
In your Android application configuration page, select Google APIs (Google Inc.) (API 17) for Compile with. Also, it would work more stable on real phone than virtual device since virtual device doesn't have play store.

MonoDevelop default M4A application "has stopped unexpectedly"

When I try running the default "Mono for Android Application", I get an error that the application has stopped unexpectedly.
After, (sometimes) I would get an exception in MonoDevelop: System.IO.IOException: DWP Handshake failed.
I'm not sure what could be wrong - I haven't made any changes to the application. Any help would be greatly appreciated - I've been trying to get this running all day.
TIA
Stacktrace:
D/AndroidRuntime( 2066): Shutting down VM
E/AndroidRuntime( 2066): FATAL EXCEPTION: main
E/AndroidRuntime( 2066): java.lang.UnsatisfiedLinkError: Couldn't load monodroid: findLibrary returned null
E/AndroidRuntime( 2066): at java.lang.Runtime.loadLibrary(Runtime.java:429)
E/AndroidRuntime( 2066): at java.lang.System.loadLibrary(System.java:554)
E/AndroidRuntime( 2066): at mono.MonoPackageManager.LoadApplication(MonoPackageManager.java:24)
E/AndroidRuntime( 2066): at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:25)
E/AndroidRuntime( 2066): at android.app.ActivityThread.installProvider(ActivityThread.java:3554)
E/AndroidRuntime( 2066): at android.app.ActivityThread.installContentProviders(ActivityThread.java:3309)
E/AndroidRuntime( 2066): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3265)
E/AndroidRuntime( 2066): at android.app.ActivityThread.access$2200(ActivityThread.java:117)
E/AndroidRuntime( 2066): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
E/AndroidRuntime( 2066): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 2066): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 2066): at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime( 2066): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2066): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 2066): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 2066): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 2066): at dalvik.system.NativeStart.main(Native Method)
I/Process ( 2066): Sending signal. PID: 2066 SIG: 9
I had a similar problem not long after going with the paid version. Simply clean and rebuild to update the references to the new monodroid library.
See also: http://www.mail-archive.com/monodroid#lists.ximian.com/msg00531.html
This is very probably Android bug 21670: sometimes native libraries are not extracted from the .apk, but the installation is still reported as successful:
W/NativeHelper( 98): Failed to cache package shared libs
W/NativeHelper( 98): java.io.IOException: Couldn't create cached binary /data/data/Mono.Android.DebugRuntime/lib/libmonosgen-2.0.so in /data/data/Mono.Android.DebugRuntime/lib
W/NativeHelper( 98): at com.android.internal.content.NativeLibraryHelper.copyNativeBinaryLI(NativeLibraryHelper.java:289)
Check your Android Debug Logs for a message similar to the above to confirm that this is the case.
If you see the above, you need to uninstall your app and as many other packages as possible to free up storage space, then reinstall your app.

sendDataMessage always causes Null Pointer Exception

hopefully I can get some help on an issue I have been having. I am using the "android.telephony.SmsManager" class to send a Data text message through calling API function:
"sendDataMessage(...)" and each time the function is called, I get a null pointer exception. I have done my research, and found that this can be caused by trying to send too large of a data message (on the order of 133 bytes or more). I am sending 5 bytes - so I know I am not above the limit. I do not get the null pointer exception on the emulator (although I know there are other issues with the emulator not properly sending Data SMS messages, so perhaps I would get an error if the emulator worked). My code is as follows:
SmsManager sm = SmsManager.getDefault();
int SMS_PORT = 8091;
sm.sendDataMessage("5555551212", null, (short)SMS_PORT, "hello".getBytes(), null, null);
Per the API documentation, the 3 arguments that I have as "null" above are allowed to be null. I have also tried sending intents to the last 2 arguments, and a string in the 2nd argument, but still get the null pointer exception.
Note that I am getting this exception when I run on my android phone. I am running on gingerbread, and am using the correct API level for GB. My android manafest file does have the proper permissions to send an SMS.
A logcat of the null pointer exception is as follows:
E/AndroidRuntime( 1690): FATAL EXCEPTION: main
E/AndroidRuntime( 1690): java.lang.IllegalStateException: Could not execute method of the activity
E/AndroidRuntime( 1690): at android.view.View$1.onClick(View.java:2144)
E/AndroidRuntime( 1690): at android.view.View.performClick(View.java:2485)
E/AndroidRuntime( 1690): at android.view.View$PerformClick.run(View.java:9081)
E/AndroidRuntime( 1690): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 1690): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 1690): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 1690): at android.app.ActivityThread.main(ActivityThread.java:3686)
E/AndroidRuntime( 1690): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1690): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 1690): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
E/AndroidRuntime( 1690): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
E/AndroidRuntime( 1690): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1690): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 1690): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1690): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 1690): at android.view.View$1.onClick(View.java:2139)
E/AndroidRuntime( 1690): ... 11 more
E/AndroidRuntime( 1690): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 1690): at android.os.Parcel.readException(Parcel.java:1328)
E/AndroidRuntime( 1690): at android.os.Parcel.readException(Parcel.java:1276)
E/AndroidRuntime( 1690): at com.android.internal.telephony.ISms$Stub$Proxy.sendData(ISms.java:359)
E/AndroidRuntime( 1690): at android.telephony.SmsManager.sendDataMessage(SmsManager.java:212)
E/AndroidRuntime( 1690): at com.test.datasmstest.DataSMSTestActivity.DoClick(DataSMSTestActivity.java:55)
E/AndroidRuntime( 1690): ... 14 more
Any ideas - would any more information be useful to help solve this problem?
Thanks!
I have figured out what is going on - I am using a sprint handset and sprint does not allow data (binary) text messages. I know this because I took the same exact app that generated the above null pointer exception and ran it on a non-sprint handset (t-mobile in this case). The data text message was sent successfully. I had it addressed to a port on my sprint phone, and the t-mobile phone that sent the text message got the following text based message sent to it:
[Free Msg: Unable to send message to 15555551212. Please try again
without a symbol in the text.]
15555551212 is where my sprint phone number would have been (hidden for obvious reasons).
So, it seems that the code above works perfectly well on some carrier handsets and not on others. I guess sprints implementation of android on my phone does not implement sendDataMessage properly (or purposely kills that function) such that it throws a null pointer exception.

Categories

Resources