rosjava / android_apps

Applications built on top of the rosjava android libraries.
132 stars 112 forks source link

The App Crashed due to the ViewControlLayer class #86

Open JiatongBao opened 5 years ago

JiatongBao commented 5 years ago

The app was successfully installed and run on the phone. However, after it connected to the ros master, the app then crashed due to the following problem. I did not modify any part of the source code.

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #5 Process: com.github.rosjava.android_apps.make_a_map.kinetic, PID: 18644 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:366) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at java.util.concurrent.FutureTask.setException(FutureTask.java:252) at java.util.concurrent.FutureTask.run(FutureTask.java:271) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:257) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:784) Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8610) at android.view.ViewRootImpl.focusableViewAvailable(ViewRootImpl.java:4061) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.View.setFlags(View.java:14253) at android.view.View.setClickable(View.java:10564) at android.view.View.setOnClickListener(View.java:6456) at com.github.rosjava.android_apps.make_a_map.ViewControlLayer.(ViewControlLayer.java:85) at com.github.rosjava.android_apps.make_a_map.MainActivity.init(MainActivity.java:300) at org.ros.android.RosActivity$1$1.doInBackground(RosActivity.java:89) at org.ros.android.RosActivity$1$1.doInBackground(RosActivity.java:86) at android.os.AsyncTask$2.call(AsyncTask.java:345) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:257)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  at java.lang.Thread.run(Thread.java:784) 

casiarobot commented 5 years ago

maybe the sdk version's problem. max is the 25. but i make it by using the newly android_core_components.however, new pro. is no data receiveid

YY-GX commented 5 years ago

Same problem. When I change sdk version to 25, it still doesn't work.

rouyunpan commented 5 years ago

I encounter the same problem in android 8.0.

zengkl520 commented 4 years ago

You can run with the old version without crashing, but you need to modify some code to run https://github.com/rosjava/android_apps/tree/e3fb0dbd588395da5f528655b1f9eecfdd339150

slamlixiaodong commented 3 years ago

did you solve the problem? I encounter the same problem.

l376571926 commented 2 years ago

The app was successfully installed and run on the phone. However, after it connected to the ros master, the app then crashed due to the following problem. I did not modify any part of the source code.

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #5 Process: com.github.rosjava.android_apps.make_a_map.kinetic, PID: 18644 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:366) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at java.util.concurrent.FutureTask.setException(FutureTask.java:252) at java.util.concurrent.FutureTask.run(FutureTask.java:271) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:257) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:784) Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8610) at android.view.ViewRootImpl.focusableViewAvailable(ViewRootImpl.java:4061) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:920) at android.view.View.setFlags(View.java:14253) at android.view.View.setClickable(View.java:10564) at android.view.View.setOnClickListener(View.java:6456) at com.github.rosjava.android_apps.make_a_map.ViewControlLayer.(ViewControlLayer.java:85) at com.github.rosjava.android_apps.make_a_map.MainActivity.init(MainActivity.java:300) at org.ros.android.RosActivity$1$1.doInBackground(RosActivity.java:89) at org.ros.android.RosActivity$1$1.doInBackground(RosActivity.java:86) at android.os.AsyncTask$2.call(AsyncTask.java:345) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:257)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  at java.lang.Thread.run(Thread.java:784)

image