rafaelsf80 / cloud-pubsub-grpc-android

Sample app to access to Cloud PubSub (gRPC) from an Android device
4 stars 6 forks source link

Cloud Pub/Sub Client Error when publishing data #1

Open munasinghecm opened 7 years ago

munasinghecm commented 7 years ago

I have followed your example that described Cloud PubSub (gRPC) with Android. It works fine alone. But when I add the same code and dependencies to my existing project got following error.

09-15 11:36:14.812 31956-32764/com.example.stl.sciocardioapp E/art: Verification failed on class com.google.pubsub.v1.PubsubMessage$Builder in /data/data/com.example.stl.sciocardioapp/files/instant-run/dex/slice-grpc-pubsub-v1-0.0.2_df54ceb8a9a1043c6f69c84936a145dd371840e5-classes.dex because: Verifier rejected class com.google.pubsub.v1.PubsubMessage$Builder due to bad method com.google.pubsub.v1.PubsubMessage$Builder com.google.pubsub.v1.PubsubMessage$Builder.setPublishTime(com.google.protobuf.Timestamp) 09-15 11:36:14.812 31956-32764/com.example.stl.sciocardioapp E/ACRA: ACRA caught a RuntimeException for com.example.stl.sciocardioapp java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:304) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1115) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:590) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.VerifyError: Verifier rejected class com.google.pubsub.v1.PubsubMessage$Builder due to bad method com.google.pubsub.v1.PubsubMessage$Builder com.google.pubsub.v1.PubsubMessage$Builder.setPublishTime(com.google.protobuf.Timestamp) (declaration of 'com.google.pubsub.v1.PubsubMessage$Builder' appears in /data/data/com.example.stl.sciocardioapp/files/instant-run/dex/slice-grpc-pubsub-v1-0.0.2_df54ceb8a9a1043c6f69c84936a145dd371840e5-classes.dex) at com.google.pubsub.v1.PubsubMessage.toBuilder(PubsubMessage.java:382) at com.google.pubsub.v1.PubsubMessage.newBuilder(PubsubMessage.java:376) at com.stl.gcommunicator.PublishMessageTask.execute(PublishMessageTask.java:122) at serverconnection.DataUploadingService$Upload.doInBackground(DataUploadingService.java:183) at serverconnection.DataUploadingService$Upload.doInBackground(DataUploadingService.java:154) at android.os.AsyncTask$2.call(AsyncTask.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1115) at java.util.concurrent.ThreadPoolExecutor$Worker.run Can someone help me to overcome with this problem

rafaelsf80 commented 7 years ago

Looks like it's a problem with dependencies, but without looking at your code, it's complicated to find out more. Check at stackoverflow for similar problems, like this

munasinghecm commented 7 years ago

The error what I fond is grpc library uses "com.google.protobuf:protobuf-java:3.0.0-beta-1" but in my app, I have used "com.google.protobuf:protobuf-java:3.2.0". So "com.google.protobuf:protobuf-java:3.2.0" replaces the library protobuf and give the error.