I am using image_picker 0.5.2 package for uploading a picture, after I added that dependency into the project I am unable to build my project, getting an exception which is mentioned below. Please help me out.
D8: Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/2.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/3.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/4.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/5.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/6.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/7.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/8.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/9.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/10.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/11.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/12.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/13.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/14.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/15.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/16.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/17.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/18.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/19.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/20.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/21.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/22.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/23.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/24.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/25.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/26.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/27.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/28.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/29.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/30.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/31.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/32.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/33.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/34.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/35.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/36.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/37.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/38.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/39.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/40.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/41.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/42.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/43.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/44.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/45.jar, /Users/harshavardhan/Workspace/cargill_flutter/build/app/intermediates/transforms/dexBuilder/debug/46.jar
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 22s
*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
*******************************************************************************************
Gradle task assembleDebug failed with exit code 1
Exited (sigterm)
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
As mentioned in your trace, this error is because of AndroidX incompatibilities in your app. The image_picker plugin migrated to the latest AndroidX support libraries from version 0.5.0.
For your app to work, you can either migrate your app to AndroidX, or if your app depends on any other package which has not been migrated to AndroidX yet, you can lock your image_picker plugin version to 0.4.12+1, which uses the older support libraries.
Add this to your pubspec.yaml to use specific version of this plugin -
image_picker: 0.4.12+1
More about this here.
UPDATE
You can check this answer for an explanation about why migrate to AndroidX. Also, this official blog explains everything regarding AndroidX.
Hope this helps!
You need to migrate to AndroidX for that particular version of the library to work.
Follow the steps in this link to go ahead with the migration.
File _image;
final images=ImagePicker();
Future getImage()async {
var Image=await images.getImage(source: ImageSource.camera);
setState(() {
_image=File(Image.path);
}); }
and when you want to Use the
_image which stored the image path:
Container(
height: 180,
width: 180,
child: ClipRRect(child: _image==null?Center(child: Text('Please Upload a pic'),):Image.file(_image,fit: BoxFit.fill,),),
when you initially run the program the _image variable is not containing the image path actually the path is empty or null and the error appears so do
_image==null?Center(child: Text('Please Upload a pic'),):
it tells flutter if the path is null and not chossed show my manual message
you will see Please upload a pic in the container when you choose the image the File(Image.path); will generate an appropriate path and your pic will appear, thankyou,
Related
I tried to generate code report using detekt and when execute the below command in terminal
gradle detekt
it showing build failed with below message.
* What went wrong:
Execution failed for task ':app:detekt'.
> Build failed with 395 weighted issues.
As others have said in the comments, this means you have 395 issues in your code (kind of like lint warnings).
Detekt has a maxissues: property that determines whether or not to fail the build if your issues surpass the allowed number of maxissues. What I did was search the whole project for maxissues, which will take you to your detekt-config.yml or default-detekt-config.yml. There, you can change your maxissues to whatever you want.
In our old code base, we had 900 some issues, so I changed mine from maxissues:0 to masissues:1000. As we clean up the code, I hope to bring that number down.
I'm trying to build an apk to upload to Firebase App Distribution.
When I run ./gradlew assembleRelease appDistributionUploadRelease I get this error:
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':app:appDistributionUploadRelease'.
Missing app id. Please check that it was passed in and try again
The app ID is specified in [my project]/android/app/build.gradle.
How can I fix this error?
edit: I found that I can just upload the apk file manually to Firebase App Distribution but the warning said that I would need to fix the problem before I could use Codemagic.
I was found the same problem, I found that just add appId
firebaseAppDistribution {
appId="your app id"
releaseNotes="Release notes for full version"
testers="full#testers.com"
}
Read the document
https://firebase.google.com/docs/app-distribution/android/distribute-gradle#step_3_configure_your_distribution_properties
Trying to update my app to androidX dependencies. Followed instructions here, and compilation failed.
The error came from JetifyTransform task failing to process a certain .JAR dependency (FYI - Samsungs Spass SDK) :
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptGenerateStubsStandardNo_vendorDebugKotlin'.
> Could not resolve all artifacts for configuration ':app:standardNo_vendorDebugCompileClasspath'.
> Failed to transform file 'pass-v1.2.2.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
> Failed to transform '/Users/hanandann/StudioProjects/ArnakPaymentsAndroid/Payments/app/libs/pass-v1.2.2.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
> Failed to transform file 'pass-v1.2.2.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
> Failed to transform '/Users/hanandann/StudioProjects/ArnakPaymentsAndroid/Payments/app/libs/pass-v1.2.2.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
Trying to jetify with jetifier-standalone tool had similar results:
Hanans-MacBook-Pro:bin hanandann$ ./jetifier-standalone -i /Users/hanandann/StudioProjects/.../app/libs/pass-v1.2.2.jar -o /Users/hanandann/StudioProjects/.../app/libs/pass-v1.2.2jet.jar
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at org.objectweb.asm.ClassReader.readFrameType(ClassReader.java:2313)
at org.objectweb.asm.ClassReader.readFrame(ClassReader.java:2269)
at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1448)
at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1126)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:698)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at com.android.tools.build.jetifier.processor.transform.bytecode.ByteCodeTransformer.runTransform(ByteCodeTransformer.kt:39)
at com.android.tools.build.jetifier.processor.Processor.visit(Processor.kt:443)
at com.android.tools.build.jetifier.processor.archive.ArchiveFile.accept(ArchiveFile.kt:49)
at com.android.tools.build.jetifier.processor.Processor.visit(Processor.kt:425)
at com.android.tools.build.jetifier.processor.archive.Archive.accept(Archive.kt:76)
at com.android.tools.build.jetifier.processor.Processor.transformLibrary(Processor.kt:421)
at com.android.tools.build.jetifier.processor.Processor.transform(Processor.kt:247)
at com.android.tools.build.jetifier.processor.Processor.transform$default(Processor.kt:234)
at com.android.tools.build.jetifier.standalone.Main.run(Main.kt:157)
at com.android.tools.build.jetifier.standalone.Main$Companion.main(Main.kt:109)
at com.android.tools.build.jetifier.standalone.Main.main(Main.kt)
Now, I don't really mind if SDK's don't get jetified, so I tried setting android.enableJetifier=false in my gradle.properties file, but compilation failed again for a different reason- SupportMapFragment isn't compatible with androidX yet as is reported here
So I'm stuck. With jetify the .JAR won't transform. with it - SupportMapFarg is incompatible.
Any suggestions?
P.S. you know what would be nice? if there was an ignore option for the jetifying function
added this to gradle.properties:
android.jetifier.blacklist = pass
as suggested by folks at google here.
Be warned - this feature is experimental and unsupported.
Update- current syntax is android.jetifier.ignorelist={your.ignored.lib} as Suggested by #YaMiN
Currently android.jetifier.blacklist is deprecated.
It was removed in version 7.0 of the Android Gradle plugin.
This property has been replaced by android.jetifier.ignorelist
If you need to ignore just a specific .jar file from the jetifier. You can add the file name in the gradle.properties like on the last line from this example.
android.useAndroidX=true
android.enableJetifier=true
android.jetifier.blacklist=liblinphone-4.0.1-debug-symbols.jar
Add this in project's gradle.properties:
android.jetifier.blacklist =xx.aar,yy.jar
split the black list with comma
update on 2022/06/07
If you use gradle 7, it change to android.jetifier.ignorelist
I am building an application using flutter and flutterfire (which allows me to use flutter and firebase). With flutterfire I am using firebase_auth. I stopped development for a few weeks and came back to my app not working. I narrowed the issues down to it being my firebase_auth not working. In order to test this, I created a brand new firebase app on Android Studios and tried to connect it to flutterfire. I did all the necessary steps to do this and decided to first test cloud_firestore to see if it would work. It did. As soon as I added the line for firebase_auth in my pubspec.yaml file my app would not even build. The errors I get are below. I have tested previous versions of flutter_fire as well.
D8: Cannot fit requested classes in a single dex file. Try supplying a
main-dex list.
methods: 65968 > 65536
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/5.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/6.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/7.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/8.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/9.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/303.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/304.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/305.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/306.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/307.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/308.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/309.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/310.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/311.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/312.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/313.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/314.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/315.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/316.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/317.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/318.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/319.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/320.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/321.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/322.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/323.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/324.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/325.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/326.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/327.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/328.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/329.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/330.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/331.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/332.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/333.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/334.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/335.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/336.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/337.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/338.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/339.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/340.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/341.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/342.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/343.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/384.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/390.jar, /Users/nolan/Documents/development/lp_2/lp_2/build/app/intermediates/transforms/dexBuilder/debug/396.jar
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at
https://developer.android.com/tools/building/multidex.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
Finished with error: Gradle build failed: 1
The problem looks more Android related and not iOS or Flutter.
If your minSdkVersion is set to 21 or higher, all you need to do is set multiDexEnabled to true in your module-level build.gradle file, as shown here:
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
}
...
}
More info: https://developer.android.com/studio/build/multidex especially if minSdkVersion < 21
I installed the google json to my project, and the FirebaseAuth.unitypackage, aswell. While the Firebase.Auth.unitypackage was being added the console displayed "Gradle failed to fetch dependencies". I updated my play services resolver to 1.2.50.00 by deleting the previous one and imported the new one into my project as another post said but no fix. I also tried /Assets/PlayServicesResolver/Resolve and Force resolve.
The console logs:
Gradle failed to fetch dependencies.
Failed to run 'Temp\PlayServicesResolverGradle\gradlew.bat -b Temp\PlayServicesResolverGradle\PlayServicesResolver.scripts.download_artifacts.gradle "-PANDROID_HOME=C:/Users/Augmented Marketing/Downloads/android-sdk_r24.4.1-windows/android-sdk-windows" "-PTARGET_DIR=C:\Users\Augmented Marketing\Documents\Unity firebase test\Assets\Plugins\Android" "-PMAVEN_REPOS=file:///C:/Users/Augmented Marketing/Documents/Unity firebase test/Assets/Firebase/m2repository" "-PPACKAGES_TO_COPY=com.google.android.gms:play-services-base:11.2.0;com.google.firebase:firebase-common:11.2.0;com.google.firebase:firebase-core:11.2.0;com.google.firebase:firebase-app-unity:4.1.0;com.google.firebase:firebase-auth:11.2.0;com.google.firebase:firebase-auth-unity:4.1.0"'
stdout:
BUILD FAILED
Total time: 1.315 secs
stderr:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\Augmented Marketing\Documents\Unity firebase test\Temp\PlayServicesResolverGradle\PlayServicesResolver.scripts.download_artifacts.gradle' line: 129
* What went wrong:
A problem occurred evaluating root project 'PlayServicesResolverGradle'.
> Illegal character in path at index 26: file:///C:/Users/Augmented Marketing/Documents/Unity firebase test/Assets/Firebase/m2repository
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
exit code: 1
UnityEngine.Debug:LogError(Object)
GooglePlayServices.PlayServicesResolver:<PlayServicesResolver>m__0(String, LogLevel)
Google.JarResolver.PlayServicesSupport:Log(String, LogLevel, Boolean)
GooglePlayServices.<GradleResolution>c__AnonStorey0:<>m__0(Result)
GooglePlayServices.<GradleResolution>c__AnonStorey1:<>m__0()
GooglePlayServices.PlayServicesResolver:PumpUpdateQueue()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
Can you try change the folder name Unityfirebasetest instead of Unity firebase test and AugmentedMarketing instead of Augmented Marketing in C:\Users\Augmented Marketing\Documents\Unity firebase test ?
So, remove the blanks.
I believe the issue is whitespace in your project path. We fixed this in the 4.2.0 release of the Firebase SDK https://firebase.google.com/support/release-notes/unity#4.2.0 and in https://github.com/googlesamples/unity-jar-resolver/commit/bf515eb2080ee9713584684521d36ad7e8d62fbd of the Play Services Resolver.
Cheers,
Stewart