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

Need help build locally (to add Gripper support) #145

Open
Tpelleterat opened this issue Jan 25, 2024 · 0 comments
Open

Need help build locally (to add Gripper support) #145

Tpelleterat opened this issue Jan 25, 2024 · 0 comments

Comments

@Tpelleterat
Copy link

Tpelleterat commented Jan 25, 2024

Hi,

I'm working on an Android application.
With the official libs, everything is okay (io.mavsdk:mavsdk:1.3.1 and io.mavsdk:mavsdk-server:1.3.2). However, I need Gripper support.

I would like to build local libs to add Gripper.
Steps I've done:

  1. Clone the repo
  2. Update the submodule sdk/proto to the main branch
  3. Build the sdk with $ ./gradlew build
  4. Build mavsdk-server with $ ./gradlew build
  5. Transfer files "sdk/mavsdk/build/libs/mavsdk.jar" and "mavsdk_server/build/outputs/aar/mavsdk-server-release.aar" to the Android project libs.

Everything works as before, but Gripper throws an exception:

io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | io.grpc.StatusRuntimeException: UNIMPLEMENTED
	at io.reactivex.internal.observers.EmptyCompletableObserver.onError(EmptyCompletableObserver.java:50)
	at io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.onError(CompletableSubscribeOn.java:74)
	at io.reactivex.internal.operators.completable.CompletableCreate$Emitter.tryOnError(CompletableCreate.java:90)
	at io.reactivex.internal.operators.completable.CompletableCreate$Emitter.onError(CompletableCreate.java:76)
	at io.mavsdk.gripper.Gripper$1.onError(Gripper.java:261)
	at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:491)
	at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489)
	at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453)
	at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486)
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: io.grpc.StatusRuntimeException: UNIMPLEMENTED
	at io.grpc.Status.asRuntimeException(Status.java:539)
	at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:491) 
	at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489) 
	at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453) 
	at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486) 
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567) 
	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71) 
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735) 
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716) 
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) 
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) 
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) 
	at java.lang.Thread.run(Thread.java:1012) 

Code :

drone?.gripper.grab(1)

Used with android 7.1 (minSdk 24, targetSdk 33)

Edit :I tried to build mavsdk_server by replacing the prebuiltLibs libmavsdk_server.so with released versions from Mavsdk 2.0.1, but encountered the same problem.

Thanks

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

1 participant