android studio 0.4.2: Gradle project sync failed error

AndroidAndroid StudioAndroid Gradle-Pluginbuild.gradle

Android Problem Overview


After updating to 0.4.2 I get this error when opening a project: 'Gradle project sync failed. Basic functionality (e.g. editing, debugging) will not work proprerly'

The event log shows this:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

	at org.gradle.launcher.daemon.bootstrap.DaemonGreeter.parseDaemonOutput(DaemonGreeter.java:34)
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startProcess(DefaultDaemonStarter.java:109)
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startDaemon(DefaultDaemonStarter.java:90)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.startDaemon(DefaultDaemonConnector.java:95)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:72)
	at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:149)
	at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:74)
	at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:42)
	at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:29)
	at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:53)
	at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:30)
	at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:106)
	at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:100)
	at org.gradle.tooling.internal.provider.DefaultConnection.run(DefaultConnection.java:143)
	at org.gradle.tooling.internal.consumer.connection.ActionAwareConsumerConnection.run(ActionAwareConsumerConnection.java:40)
	at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter$1.run(DefaultBuildActionExecuter.java:53)
	at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:82)
	at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:58)
	at org.gradle.tooling.internal.consumer.connection.LoggingInitializerConsumerActionExecutor.run(LoggingInitializerConsumerActionExecutor.java:44)
	at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:55)
	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
2014-01-12 02:57:48,886 [  33025]   INFO - .BaseProjectImportErrorHandler - Failed to import Gradle project at 'C:/android/workspace_studio/Noggle' 
org.gradle.tooling.GradleConnectionException: Could not run build action using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.9-all.zip'.
	at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55)
	at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
	at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
	at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter.run(DefaultBuildActionExecuter.java:43)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.doResolveProjectInfo(GradleProjectResolver.java:170)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.access$000(GradleProjectResolver.java:61)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$1.fun(GradleProjectResolver.java:117)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$1.fun(GradleProjectResolver.java:113)
	at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:182)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:113)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:61)
	at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:41)
	at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:37)
	at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59)
	at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37)
	at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49)
	at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:48)
	at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:137)
	at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:123)
	at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:471)
	at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4$2.run(ExternalSystemUtil.java:549)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:464)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
	at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:373)
	at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:436)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153)
Caused by: org.gradle.api.GradleException: Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.9/userguide/gradle_daemon.html
Please read below process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

	at org.gradle.launcher.daemon.bootstrap.DaemonGreeter.parseDaemonOutput(DaemonGreeter.java:34)
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startProcess(DefaultDaemonStarter.java:109)
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startDaemon(DefaultDaemonStarter.java:90)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.startDaemon(DefaultDaemonConnector.java:95)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:72)
	at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:149)
	at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:74)
	at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:42)
	at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:29)
	at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:53)
	at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:30)
	at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:106)
	at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:100)
	at org.gradle.tooling.internal.provider.DefaultConnection.run(DefaultConnection.java:143)
	at org.gradle.tooling.internal.consumer.connection.ActionAwareConsumerConnection.run(ActionAwareConsumerConnection.java:40)
	at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter$1.run(DefaultBuildActionExecuter.java:53)
	at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:82)
	at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:58)
	at org.gradle.tooling.internal.consumer.connection.LoggingInitializerConsumerActionExecutor.run(LoggingInitializerConsumerActionExecutor.java:44)
	at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:55)
	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
2014-01-12 02:57:48,893 [  33032]   WARN - nal.AbstractExternalSystemTask - A fatal exception has occurred. Program will exit.
 
com.intellij.openapi.externalSystem.model.ExternalSystemException: A fatal exception has occurred. Program will exit.

	at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:185)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:113)
	at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:61)
	at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:41)
	at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:37)
	at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59)
	at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37)
	at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49)
	at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:48)
	at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:137)
	at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:123)
	at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:471)
	at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4$2.run(ExternalSystemUtil.java:549)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:464)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
	at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:373)
	at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:436)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
	at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153)

2014-01-12 02:57:48,895 [  33034]   WARN - .project.GradleProjectImporter -  
2014-01-12 02:57:48,895 [  33034]   INFO - .project.GradleProjectImporter - A fatal exception has occurred. Program will exit.


Consult IDE log for more details (Help | Show Log) 
2014-01-12 02:57:48,941 [  33080]   INFO - ution.rmi.RemoteProcessSupport - Port/ID: 21325/Maven3ServerImpl5ed05101 
2014-01-12 02:57:49,424 [  33563]   INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $APP_CONFIG$/remote-servers.xml file is null 
2014-01-12 02:57:50,185 [  34324]   INFO - tor.impl.FileEditorManagerImpl - Project opening took 13482 ms 

Version 0.4.1 was behaving very well for me.

Android Solutions


Solution 1 - Android

I'm assuming I can answer my own question.... This worked for me.

  1. File -> Invalidate caches / Restart
  2. Shutdown Android Studio
  3. Rename/remove .gradle folder in the user home directory
  4. Restart Android Studio let it download all the Gradle stuff it needs
  5. Gradle build success !
  6. Rebuild project.... success !

Out of curiousity I compared the structure of the old .gradle and the new one... they were pretty different !

So I'll see how 0.4.2 goes :)

Solution 2 - Android

I had same problem but finally I could solve it forever
Steps:

  1. Delete gradle and .gradle folders from your project folder.
  2. In Android Studio: Open your project then: File -> settings -> compiler -> gradle: enable offline mode
    Note: In relatively newer Android Studios, Offline mode has been moved to gradle setting. enter image description here
  3. Close your project: File -> close project
  4. Connect to the Internet and open your project again then let Android Studio downloads what it wants

If success then :)
else

  1. If you encounter gradle project sync failed again please follow these steps:
  2. Download the latest gradle package from this directory
  3. Extract it and put it somewhere (for example f:\gradle-1.10)
  4. Go to your Android Studio and load your project then open File->Settings->gradle, in this page click on Use local gradle distribution
  5. Type your gradle folder address there
    enter image description here

Congratulation you are done!

Solution 3 - Android

same here, updating to 0.4.2 also broke everything in my case... It has nothing to do with memory usage : I've got 8 gig of memory and I have 3.5 gig free atm, so not having enough memory to start up a JVM is bullocks...

Actually it might have something to do with Gradle versions, I looked into the error log and found this :

> 2014-01-14 09:00:30,918 [ 61112] WARN - > nal.AbstractExternalSystemTask - Project is using an old version of > the Android Gradle plug-in. The minimum supported version is 0.7.0. > Please update the version of the dependency > 'com.android.tools.build:gradle' in your build.gradle files. > > You are using Gradle version 1.8, which is not supported. Please use > version 1.9. Please point to a supported Gradle version in the > project's Gradle settings or in the project's Gradle wrapper (if > applicable.) > com.intellij.openapi.externalSystem.model.ExternalSystemException: > Project is using an old version of the Android Gradle plug-in. The > minimum supported version is 0.7.0. Please update the version of the > dependency 'com.android.tools.build:gradle' in your build.gradle files

> You are using Gradle version 1.8, which is not supported. Please use > version 1.9. > > Please point to a supported Gradle version in the project's Gradle > settings or in the project's Gradle wrapper (if applicable.)

OK, I fixed it myself... In the project directory go to /gradle/wrapper directory and edit the gradle-wrapper properties file to this :

distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip

After open your project in Android Studio and select the build.gradle file in the /src directory and edit it to this :

dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }

After fixing it like this I discovered this article : http://tools.android.com/recent/androidstudio040released

Solution 4 - Android

  1. Open File-> Settings
  2. Choose Gradle
  3. Mark "Use local grandle distribution" and select the path of grandle home for ex: C:/Users/high_hopes/.gradle/wrapper/dists/gradle-2.1-all/27drb4udbjf4k88eh2ffdc0n55/gradle-2.1.1 then choose service directory path C:/Users/high_hopes/.gradle
  4. Apply all changes
  5. Open File-> invalidate caches/ restart ...
  6. Select Just Restart

Solution 5 - Android

After reporting the problem on the Android Studio feedback site, they found a solution for me. I am now using Gradle 1.10 and Android Studio 0.4.3.

Here is the link to the page with a description of how I fixed mine: https://code.google.com/p/android/issues/detail?id=65219

Hope this helps!

Solution 6 - Android

I found one answer on the net and it worked for me, thus here it is:

When you get the gradle project sync failed error, with error details:

> Error occurred during initialization of VM Could not reserve enough > space for object heap Error: Could not create the Java Virtual > Machine. Error: A fatal exception has occurred. Program will exit.

Then, on Windows, please go to:

Control Panel > System > Advanced(tab) > Environment Variables > System Variables > New:

Variable name _JAVA_OPTIONS and Variable value -Xmx512M

Save it, restart AS. It might work this time, as it did for me.

Source: http://www.savinoordine.com/android-studio-gradle-windows-7/

Solution 7 - Android

I am facing this problem many times from last few days, the answer above works perfectly fine. I was looking for the exact reason for this problem and in my case I found slow internet or no internet on your machine(assuming you are taking project to windows from mac, that may not be required).

I've noticed while doing build it stopped fetching a URL(http://.maven.org/). I don't know why android studio doing these things again, but that seems to be the only problem in my case.

Solution 8 - Android

For those who are upgrading to v1.0 of Android Studio and see the error Gradle DSL method not found: 'runProguard', If you are using version 0.14.0 or higher of the gradle plugin, you should replace "runProguard" with "minifyEnabled" in your build.gradle files. i.e.

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

Solution 9 - Android

After following Carlos steps I ended up deleting the

C:\Users\MyPath.AndroidStudioPreview Directory

Then re imported the project it seemed to fix my issue completely for the meanwhile, And speedup my AndroidStudio

Hope it helps anyone

Solution 10 - Android

I have Android Studio 0.8.9 and after hours on forums the thing that finally worked for me was to manually download Gradle (latest version) then go to: C:\Users<user>.gradle\wrapper\dists\gradle-1.12-all<someCode>\ and replace the local archive with the recently downloaded archive and also replace the extracted data; after restarting Android Studio... he did some downloadings and builds and all sorts of stuff, but it finally worked.. Good Luck people!

Solution 11 - Android

This is what worked for me with Android Studio 1.0.2:

File -> Settings-> Gradle Set 'Use default Gradle wrapper.'

The other methods didn't seem to work for me.

Solution 12 - Android

I'm not using Android Studio, but had same problem. I had to update the latest java jdk and set the JAVA_HOME to that jdk.

Solution 13 - Android

I had the same error. I deleted the android repository from android sdk manager and reinstalled it. It worked.

Solution 14 - Android

Load Project:>Build, execution, Deployment:>(Check on)compiler Independent modules in parllel.

Solution 15 - Android

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.

seems fairly clear-cut: your OS can't find enough RAM to start a new Java process, which is in this case the Gradle builder. Perhaps you don't have enough RAM, or not enough swap, or you have too many other memory-hungry processes running at the same time.

Solution 16 - Android

I had this problem when I started my project and there was not enough RAM for gradle. I searched a solution for an hour including the variants given above, but then I just closed my browser and rebooted my IDE. Interesting that if you run browser or a game after successful starting IDE and project it still works properly. Hope this solution will be useful for somebody. p.s. sorry for my English knowledge (it`s from school).

Solution 17 - Android

All you have to do is remove .gradle from user, paste, and verify update in Android Studio and it will work perfectly!

Solution 18 - Android

I always remove the .gradle folder from %USERS% folder and start the studio again. When starting the IDE it downloads gradle again with all the dependencies again. Its work PERFECT.

Solution 19 - Android

Today I ran into the same error, however, i was using Android Studio 1.0.2. What i did tot fix the problem was that i started a project with minimum SDK 4.4 (API 19) so when i checked the version i noticed that at File->ProjectStructure->app i found Android 5 as a compile SDK Version. I changed that back to 4.4.

Solution 20 - Android

I was seeing this error along with: "Error:compileSdkVersion android-21 requires compiling with JDK 7"

For me, the solution was found here, where I had to update the JDK location in the project structure.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCarlos TaylorView Question on Stackoverflow
Solution 1 - AndroidCarlos TaylorView Answer on Stackoverflow
Solution 2 - AndroidfrogattoView Answer on Stackoverflow
Solution 3 - AndroidTiGerView Answer on Stackoverflow
Solution 4 - Androidhigh_hopesView Answer on Stackoverflow
Solution 5 - AndroidJosiahView Answer on Stackoverflow
Solution 6 - AndroidArijitView Answer on Stackoverflow
Solution 7 - AndroidIshan DhingraView Answer on Stackoverflow
Solution 8 - AndroidReefwingView Answer on Stackoverflow
Solution 9 - Androidshimi_tapView Answer on Stackoverflow
Solution 10 - AndroidGeorge Stefan Kudor-GhitescuView Answer on Stackoverflow
Solution 11 - Androiduser1123966View Answer on Stackoverflow
Solution 12 - AndroidNiels SteenbeekView Answer on Stackoverflow
Solution 13 - AndroidRajaniView Answer on Stackoverflow
Solution 14 - AndroidAtul ShuklaView Answer on Stackoverflow
Solution 15 - AndroidScott BartaView Answer on Stackoverflow
Solution 16 - AndroidRavenShieldView Answer on Stackoverflow
Solution 17 - AndroidSupertrampView Answer on Stackoverflow
Solution 18 - AndroidAshraf Sayied-AhmadView Answer on Stackoverflow
Solution 19 - AndroidT-BagView Answer on Stackoverflow
Solution 20 - Androiduser1720817View Answer on Stackoverflow