Assigned
Status Update
Comments
jf...@google.com <jf...@google.com> #2
Thanks for filing this issue!
It looks like there's an issue with the upload calls on the latest version of the grpc-okhttp library.
(It might be related to the split of the ListenableFuture in the Guava library:https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies )
We'll take a look to see what is going on here. I'll update the issue here when we have any updates.
It looks like there's an issue with the upload calls on the latest version of the grpc-okhttp library.
(It might be related to the split of the ListenableFuture in the Guava library:
We'll take a look to see what is going on here. I'll update the issue here when we have any updates.
ga...@zyl.ai <ga...@zyl.ai> #3
I have some new informations that might help you. For context I'm still using the grpc-okhttp library version 1.15.1.
- After updating to Android Studio 3.3 from 3.2.1, when syncing the project with gradle files we get this error message:
In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[1.10.
1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
Dependency failing: io.grpc:grpc-auth:1.10.1 -> io.grpc:grpc-core@[1.10.1], but grpc-core version was 1.15.1.
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
ifact with the issue.
-- Project 'app' depends onto io.grpc:grpc-protobuf@1.10.1
-- Project 'app' depends onto io.grpc:grpc-core@1.15.1
-- Project 'app' depends onto io.grpc:grpc-auth@1.10.1
-- Project 'app' depends onto io.grpc:grpc-okhttp@1.15.1
-- Project 'app' depends onto com.google.photos.library:google-photos-library-client@1.1.0
-- Project 'app' depends onto com.google.api:gax-grpc@1.29.0
-- Project 'app' depends onto io.grpc:grpc-stub@1.10.1
-- Project 'app' depends onto io.grpc:grpc-protobuf-lite@1.10.1
- The only way to make the syncing work is if I use the grpc-okhttp library version 1.10.1. Then the project compiles and runs correctly.
If the Google Photos library depends on a specific library, wouldn't it be clearer to have it internally take care of that dependency?
- After updating to Android Studio 3.3 from 3.2.1, when syncing the project with gradle files we get this error message:
In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[1.10.
1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
Dependency failing: io.grpc:grpc-auth:1.10.1 -> io.grpc:grpc-core@[1.10.1], but grpc-core version was 1.15.1.
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
ifact with the issue.
-- Project 'app' depends onto io.grpc:grpc-protobuf@1.10.1
-- Project 'app' depends onto io.grpc:grpc-core@1.15.1
-- Project 'app' depends onto io.grpc:grpc-auth@1.10.1
-- Project 'app' depends onto io.grpc:grpc-okhttp@1.15.1
-- Project 'app' depends onto com.google.photos.library:google-photos-library-client@1.1.0
-- Project 'app' depends onto com.google.api:gax-grpc@1.29.0
-- Project 'app' depends onto io.grpc:grpc-stub@1.10.1
-- Project 'app' depends onto io.grpc:grpc-protobuf-lite@1.10.1
- The only way to make the syncing work is if I use the grpc-okhttp library version 1.10.1. Then the project compiles and runs correctly.
If the Google Photos library depends on a specific library, wouldn't it be clearer to have it internally take care of that dependency?
Description
2018-12-07 13:30:55.692 18719-19330/io.crossroad.app.debug E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: io.crossroad.app.debug, PID: 18719
java.lang.NoSuchMethodError: No static method transform(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)Lcom/google/common/util/concurrent/ListenableFuture; in class Lcom/google/common/util/concurrent/Futures; or its super classes (declaration of 'com.google.common.util.concurrent.Futures' appears in /data/app/io.crossroad.app.debug-uc_8S7Op0GvvTkZu0JPpgw==/base.apk!classes4.dex)
at com.google.api.core.ApiFutures.transform(ApiFutures.java:99)
at com.google.api.gax.paging.AbstractPage.createPageAsync(AbstractPage.java:66)
at com.google.photos.library.v1.internal.InternalPhotosLibraryClient$SearchMediaItemsPage.createPageAsync(InternalPhotosLibraryClient.java:1553)
at com.google.photos.library.v1.internal.InternalPhotosLibraryClient$SearchMediaItemsPagedResponse.createAsync(InternalPhotosLibraryClient.java:1512)
at com.google.photos.library.v1.internal.stub.PhotosLibraryStubSettings$5.getFuturePagedResponse(PhotosLibraryStubSettings.java:478)
at com.google.photos.library.v1.internal.stub.PhotosLibraryStubSettings$5.getFuturePagedResponse(PhotosLibraryStubSettings.java:467)
at com.google.api.gax.rpc.PagedCallable.futureCall(PagedCallable.java:63)
at com.google.api.gax.rpc.UnaryCallable$1.futureCall(UnaryCallable.java:126)
at com.google.api.gax.rpc.UnaryCallable.futureCall(UnaryCallable.java:87)
at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112)
at com.google.photos.library.v1.internal.InternalPhotosLibraryClient.searchMediaItems(InternalPhotosLibraryClient.java:469)
at com.google.photos.library.v1.internal.InternalPhotosLibraryClient.searchMediaItems(InternalPhotosLibraryClient.java:443)
at io.crossroad.app.features.debug.googlePhotosApi.GooglePhotosApiActivity.getFilteredGooglePhotosGallery(GooglePhotosApiActivity.java:366)
This happens reliably with this code to retrieve the user's gallery:
try(PhotosLibraryClient photosLibraryClient = PhotosLibraryClient.initialize(settings)) {
List<MediaItem> mediaItemList = new ArrayList<>();
InternalPhotosLibraryClient.SearchMediaItemsPagedResponse libraryResponse = photosLibraryClient.searchMediaItems(filters);
Iterable<InternalPhotosLibraryClient.SearchMediaItemsPage> listMediaItemsPage = libraryResponse.iteratePages();
}
If we use the grpc-okhttp library version 1.15.1 or lower the API call works correctly.
Here is also a StackOverflow question referencing the same problem:
Please provide any additional information below.