The android port of the 2048 game (for offline playing)

Related tags

App 2048-android
Overview

2048-android

Build Status

This is the Android port of the 2048 game made by Gabriele Cirulli https://github.com/gabrielecirulli/2048 It's nothing fancy; just a WebView that loads the locally stored html files of the original game. I just wanted to make it instantly playable without internet (the app doesn't require any permissions), and with a quick access icon for my smartphone.

Feel free to contribute with pull requests to the original project by Gabriele, or to this one if you have any Android-specific improvements in mind.

Get it on Google Play Get it on F-Droid

Building

If you want to build from source, just do

git clone --recursive https://github.com/uberspot/2048-android.git
cd 2048-android
git submodule update --init --recursive
./gradlew build

With Eclipse

  1. Copy https://github.com/uberspot/2048-android.git to clipboard
  2. File -> Import -> Git / Projects from Git -> Clone URI
  3. Paste URI from clipboard (if it did not appeared automatically)
  4. Next> Next> Check "Clone submodules"
  5. Next> select "Import existing project"

With Android Studio

  1. Follow first three lines of Building directions.
  2. In Android Studio selection "Open an existing Android Studio Project"
  3. When prompted, add the VCS root.

License

2048-android is licensed under the MIT license.

Comments
  • F-Droid install not working

    F-Droid install not working

    I installed the app v2.1 from F-Droid and it's not working, I just get "The web page at file:///android_asset/2048/index.html?lang=en could not be loaded because: net::ERR_FILE_NOT_FOUND"

    I see others have reported this and the source fix is to do with git submodule, but that can't be right for the packaged app. Can it?

    opened by davebiffuk 17
  • Pretty significant changes for a small app that were inevitably coming

    Pretty significant changes for a small app that were inevitably coming

    • After endlessly fighting with the project and constantly moving the assets folder around trying to get Gradle to notice it, I decided to just revert back to the old configuration (which isn't a bad thing, just a little weird).
    • Updated 'de.cketti.library.changelog:ckchangelog:1.2.2' to 'de.cketti.library.changelog:ckchangelog-legacy-dialog:2.0.0-SNAPSHOT' (contained breaking changes (you'll likely notice what they are, but feel free to ask if you don't))
    • ~~Migrated App to AppCompat~~
    • ~~Migrated to AndroidX~~
    • Bumped version from 2.1 to ~~3.0, as they're pretty significant if you ask me~~ 2.2
    opened by TacoTheDank 7
  • file:///android_asset/2048/index.html issue

    file:///android_asset/2048/index.html issue

    I downloaded the zip (yes, I extracted the zip file) from github to insert into android studio to check out / reverse engineer the code.

    When I build to my phone, i get the error: "file:///android_asset/2048/index.html is missing" . I guess I'm baffled as to why this is popping up, what am I missing?

    I have included a screenshot of the build in android studio.

    2048screenshot

    opened by TeejayParker 7
  • Build failed

    Build failed

    Try to build to be included in F-Droid repot, but failed:

    [shnoulle@beldaran 2048-android]$ ./gradlew --debug build
    13:37:16.022 [INFO] [org.gradle.BuildLogger] Starting Build
    13:37:16.037 [DEBUG] [org.gradle.BuildLogger] Gradle user home: /home/shnoulle/.gradle
    13:37:16.039 [DEBUG] [org.gradle.BuildLogger] Current dir: /home/shnoulle/Développements/GIT/TEST/2048-android
    13:37:16.041 [DEBUG] [org.gradle.BuildLogger] Settings file: null
    13:37:16.043 [DEBUG] [org.gradle.BuildLogger] Build file: null
    13:37:16.072 [DEBUG] [org.gradle.initialization.buildsrc.BuildSourceBuilder] Starting to build the build sources.
    13:37:16.079 [DEBUG] [org.gradle.initialization.buildsrc.BuildSourceBuilder] Gradle source dir does not exist. We leave.
    13:37:16.089 [DEBUG] [org.gradle.initialization.DefaultGradlePropertiesLoader] Found env project properties: []
    13:37:16.092 [DEBUG] [org.gradle.initialization.DefaultGradlePropertiesLoader] Found system project properties: []
    13:37:16.252 [DEBUG] [org.gradle.initialization.ScriptEvaluatingSettingsProcessor] Timing: Processing settings took: 0.158 secs
    13:37:16.262 [INFO] [org.gradle.BuildLogger] Settings evaluated using settings file '/master/settings.gradle'.
    13:37:16.674 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks' from state Known to Created
    13:37:16.691 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Running model element 'tasks' rule action Project.<init>.tasks()
    13:37:16.694 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Mutating tasks using Project.<init>.tasks()
    13:37:16.700 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks' to state ProjectionsDefined.
    13:37:16.703 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Running model element 'tasks' rule action Project.<init>.tasks()
    13:37:16.706 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Mutating tasks using Project.<init>.tasks()
    13:37:16.757 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks' to state Created.
    13:37:16.869 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'nodeInitializerRegistry' from state Known to ProjectionsDefined
    13:37:16.895 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Running model element 'nodeInitializerRegistry' rule action Project.<init>.nodeInitializerRegistry()
    13:37:16.920 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Mutating nodeInitializerRegistry using Project.<init>.nodeInitializerRegistry()
    13:37:16.961 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'nodeInitializerRegistry' to state ProjectionsDefined.
    13:37:16.977 [DEBUG] [org.gradle.initialization.ProjectPropertySettingBuildLoader] Looking for project properties from: /home/shnoulle/Développements/GIT/TEST/2048-android/gradle.properties
    13:37:16.987 [DEBUG] [org.gradle.initialization.ProjectPropertySettingBuildLoader] project property file does not exists. We continue!
    13:37:16.992 [INFO] [org.gradle.BuildLogger] Projects loaded. Root project using build file '/home/shnoulle/Développements/GIT/TEST/2048-android/build.gradle'.
    13:37:16.996 [INFO] [org.gradle.BuildLogger] Included projects: [root project '2048-android']
    13:37:17.417 [INFO] [org.gradle.configuration.project.BuildScriptProcessor] Evaluating root project '2048-android' using build file '/home/shnoulle/Développements/GIT/TEST/2048-android/build.gradle'.
    13:37:17.464 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface virbr0
    13:37:17.466 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a loopback interface? false
    13:37:17.469 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a multicast interface? true
    13:37:17.475 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /192.168.124.1
    13:37:17.479 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote multicast interface virbr0
    13:37:17.483 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface wlp2s0
    13:37:17.486 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a loopback interface? false
    13:37:17.488 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a multicast interface? true
    13:37:17.491 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /fe80:0:0:0:42e2:30ff:fee8:e7f1%wlp2s0
    13:37:17.494 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /2a01:e35:2e9c:1ac0:42e2:30ff:fee8:e7f1%wlp2s0
    13:37:17.496 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /192.168.0.120
    13:37:17.498 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote multicast interface wlp2s0
    13:37:17.500 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface enp3s0
    13:37:17.504 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a loopback interface? false
    13:37:17.508 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a multicast interface? true
    13:37:17.510 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /fe80:0:0:0:feaa:14ff:fedb:bdc5%enp3s0
    13:37:17.512 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /2a01:e35:2e9c:1ac0:feaa:14ff:fedb:bdc5%enp3s0
    13:37:17.514 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote address /192.168.0.130
    13:37:17.516 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding remote multicast interface enp3s0
    13:37:17.517 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface lo
    13:37:17.519 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a loopback interface? true
    13:37:17.521 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a multicast interface? false
    13:37:17.524 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding loopback address /0:0:0:0:0:0:0:1%lo
    13:37:17.526 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding loopback address /127.0.0.1
    13:37:17.558 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on cp_proj class cache for build file '/home/shnoulle/Développements/GIT/TEST/2048-android/build.gradle' (/home/shnoulle/.gradle/caches/2.8/scripts/build_tlq1ch3f54tbt4ige49tepdw/cp_proj).
    13:37:17.563 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
    13:37:18.374 [DEBUG] [org.gradle.api.internal.artifacts.mvnsettings.DefaultLocalMavenRepositoryLocator] No local repository in Settings file defined. Using default path: /home/shnoulle/.m2/repository
    13:37:18.916 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on artifact cache (/home/shnoulle/.gradle/caches/modules-2).
    13:37:18.923 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
    13:37:18.929 [DEBUG] [org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler] Starting file lock listener thread.
    13:37:18.981 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'ivy.default.settings.dir' to 'jar:file:/home/shnoulle/.gradle/wrapper/dists/gradle-2.8-all/5gvqtptsvj5jeqpfiir33enq91/gradle-2.8/lib/plugins/ivy-2.2.0.jar!/org/apache/ivy/core/settings'
    13:37:18.986 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'ivy.basedir' to '/home/shnoulle/Développements/GIT/TEST/2048-android/.'
    13:37:18.988 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'ivy.default.conf.dir' to 'jar:file:/home/shnoulle/.gradle/wrapper/dists/gradle-2.8-all/5gvqtptsvj5jeqpfiir33enq91/gradle-2.8/lib/plugins/ivy-2.2.0.jar!/org/apache/ivy/core/settings'
    13:37:19.095 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'jna.platform.library.path' to '/usr/lib64:/lib64'
    13:37:19.097 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.runtime.name' to 'OpenJDK Runtime Environment'
    13:37:19.100 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.version' to '25.72-b16'
    13:37:19.103 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.boot.library.path' to '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/amd64'
    13:37:19.105 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.vendor' to 'Oracle Corporation'
    13:37:19.107 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vendor.url' to 'http://java.oracle.com/'
    13:37:19.108 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'path.separator' to ':'
    13:37:19.110 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.name' to 'OpenJDK 64-Bit Server VM'
    13:37:19.112 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'file.encoding.pkg' to 'sun.io'
    13:37:19.116 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.os.patch.level' to 'unknown'
    13:37:19.117 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'user.country' to 'FR'
    13:37:19.121 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.java.launcher' to 'SUN_STANDARD'
    13:37:19.137 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.specification.name' to 'Java Virtual Machine Specification'
    13:37:19.149 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'user.dir' to '/home/shnoulle/Développements/GIT/TEST/2048-android'
    13:37:19.151 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.runtime.version' to '1.8.0_72-b16'
    13:37:19.153 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.awt.graphicsenv' to 'sun.awt.X11GraphicsEnvironment'
    13:37:19.155 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'os.arch' to 'amd64'
    13:37:19.157 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.endorsed.dirs' to '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/endorsed'
    13:37:19.159 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.io.tmpdir' to '/tmp'
    13:37:19.161 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'line.separator' to '
    '
    13:37:19.164 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'org.gradle.appname' to 'gradlew'
    13:37:19.167 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.specification.vendor' to 'Oracle Corporation'
    13:37:19.169 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'os.name' to 'Linux'
    13:37:19.171 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.jnu.encoding' to 'UTF-8'
    13:37:19.173 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.library.path' to '/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib'
    13:37:19.175 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'http.keepAlive' to 'true'
    13:37:19.177 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.class.version' to '52.0'
    13:37:19.179 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.specification.name' to 'Java Platform API Specification'
    13:37:19.180 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.management.compiler' to 'HotSpot 64-Bit Tiered Compilers'
    13:37:19.182 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'os.version' to '4.4.3-300.fc23.x86_64'
    13:37:19.184 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'user.home' to '/home/shnoulle'
    13:37:19.186 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'user.timezone' to 'Europe/Paris'
    13:37:19.188 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.awt.printerjob' to 'sun.print.PSPrinterJob'
    13:37:19.190 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'file.encoding' to 'UTF-8'
    13:37:19.192 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.specification.version' to '1.8'
    13:37:19.194 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'user.name' to 'shnoulle'
    13:37:19.197 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.class.path' to '/home/shnoulle/Développements/GIT/TEST/2048-android/gradle/wrapper/gradle-wrapper.jar'
    13:37:19.199 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.specification.version' to '1.8'
    13:37:19.202 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.arch.data.model' to '64'
    13:37:19.204 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.java.command' to 'org.gradle.wrapper.GradleWrapperMain --debug build'
    13:37:19.207 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.home' to '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre'
    13:37:19.209 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'user.language' to 'fr'
    13:37:19.211 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.specification.vendor' to 'Oracle Corporation'
    13:37:19.213 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'awt.toolkit' to 'sun.awt.X11.XToolkit'
    13:37:19.216 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vm.info' to 'mixed mode'
    13:37:19.218 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.version' to '1.8.0_72'
    13:37:19.220 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.ext.dirs' to '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/ext:/usr/java/packages/lib/ext'
    13:37:19.222 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.boot.class.path' to '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-9.b16.fc23.x86_64/jre/classes'
    13:37:19.224 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vendor' to 'Oracle Corporation'
    13:37:19.226 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'file.separator' to '/'
    13:37:19.228 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'java.vendor.url.bug' to 'http://bugreport.sun.com/bugreport/'
    13:37:19.234 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.io.unicode.encoding' to 'UnicodeLittle'
    13:37:19.237 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.cpu.endian' to 'little'
    13:37:19.239 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.desktop' to 'gnome'
    13:37:19.241 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] setting 'sun.cpu.isalist' to ''
    13:37:19.302 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver] Resolving configuration ':classpath'
    13:37:19.409 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedRepositoryFactory] Creating new in-memory cache for repo 'MavenRepo' [4471c3b2f5ea2d40ffaa8b3948cdbacd].
    13:37:19.510 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder] Visiting configuration :2048-android:unspecified(classpath).
    13:37:19.521 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder] Visiting dependency :2048-android:unspecified(classpath) -> com.android.tools.build:gradle:2.0.0-alpha3(classpath)
    13:37:19.537 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder] Selecting new module version com.android.tools.build:gradle:2.0.0-alpha3
    13:37:19.541 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver] Attempting to resolve component for com.android.tools.build:gradle:2.0.0-alpha3 using repositories [MavenRepo]
    13:37:19.594 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Opening cache module-metadata.bin (/home/shnoulle/.gradle/caches/modules-2/metadata-2.16/module-metadata.bin)
    13:37:19.635 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository] Detected non-existence of module 'com.android.tools.build:gradle:2.0.0-alpha3' in resolver cache 'MavenRepo'
    13:37:19.659 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom
    13:37:19.670 [DEBUG] [org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor] Constructing external resource: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom
    13:37:19.675 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Opening cache artifact-at-url.bin (/home/shnoulle/.gradle/caches/modules-2/metadata-2.16/artifact-at-url.bin)
    13:37:19.692 [DEBUG] [org.gradle.internal.resource.transport.http.HttpResourceAccessor] Constructing external resource: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom
    13:37:19.703 [DEBUG] [org.gradle.internal.resource.transport.http.HttpClientHelper] Performing HTTP GET: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom
    13:37:20.249 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection request: [route: {s}->https://repo1.maven.org][total kept alive: 0; route allocated: 0 of 5; total allocated: 0 of 10]
    13:37:20.306 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection leased: [id: 0][route: {s}->https://repo1.maven.org][total kept alive: 0; route allocated: 1 of 5; total allocated: 1 of 10]
    13:37:20.480 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnectionOperator] Connecting to repo1.maven.org:443
    13:37:20.835 [DEBUG] [org.apache.http.client.protocol.RequestAddCookies] CookieSpec selected: best-match
    13:37:20.884 [DEBUG] [org.apache.http.client.protocol.RequestAuthCache] Auth cache not set in the context
    13:37:20.886 [DEBUG] [org.apache.http.client.protocol.RequestTargetAuthentication] Target auth state: UNCHALLENGED
    13:37:20.890 [DEBUG] [org.apache.http.client.protocol.RequestProxyAuthentication] Proxy auth state: UNCHALLENGED
    13:37:20.893 [DEBUG] [org.apache.http.impl.client.SystemDefaultHttpClient] Attempt 1 to execute request
    13:37:20.895 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnection] Sending request: GET /maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom HTTP/1.1
    13:37:20.940 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnection] Receiving response: HTTP/1.1 404 Not Found
    13:37:20.965 [DEBUG] [org.apache.http.impl.client.SystemDefaultHttpClient] Connection can be kept alive indefinitely
    13:37:20.977 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection [id: 0][route: {s}->https://repo1.maven.org] can be kept alive indefinitely
    13:37:20.979 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection released: [id: 0][route: {s}->https://repo1.maven.org][total kept alive: 1; route allocated: 1 of 5; total allocated: 1 of 10]
    13:37:20.981 [INFO] [org.gradle.internal.resource.transport.http.HttpClientHelper] Resource missing. [HTTP GET: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom]
    13:37:20.984 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar
    13:37:20.986 [DEBUG] [org.gradle.internal.resource.transport.http.HttpResourceAccessor] Constructing external resource metadata: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar
    13:37:20.987 [DEBUG] [org.gradle.internal.resource.transport.http.HttpClientHelper] Performing HTTP HEAD: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar
    13:37:20.995 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection request: [route: {s}->https://repo1.maven.org][total kept alive: 1; route allocated: 1 of 5; total allocated: 1 of 10]
    13:37:20.997 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection leased: [id: 0][route: {s}->https://repo1.maven.org][total kept alive: 0; route allocated: 1 of 5; total allocated: 1 of 10]
    13:37:21.004 [DEBUG] [org.apache.http.impl.client.SystemDefaultHttpClient] Stale connection check
    13:37:21.011 [DEBUG] [org.apache.http.client.protocol.RequestAddCookies] CookieSpec selected: best-match
    13:37:21.016 [DEBUG] [org.apache.http.client.protocol.RequestAuthCache] Auth cache not set in the context
    13:37:21.022 [DEBUG] [org.apache.http.client.protocol.RequestTargetAuthentication] Target auth state: UNCHALLENGED
    13:37:21.027 [DEBUG] [org.apache.http.client.protocol.RequestProxyAuthentication] Proxy auth state: UNCHALLENGED
    13:37:21.030 [DEBUG] [org.apache.http.impl.client.SystemDefaultHttpClient] Attempt 1 to execute request
    13:37:21.033 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnection] Sending request: HEAD /maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar HTTP/1.1
    13:37:21.068 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnection] Receiving response: HTTP/1.1 404 Not Found
    13:37:21.070 [DEBUG] [org.apache.http.impl.client.SystemDefaultHttpClient] Connection can be kept alive indefinitely
    13:37:21.072 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection [id: 0][route: {s}->https://repo1.maven.org] can be kept alive indefinitely
    13:37:21.073 [DEBUG] [org.apache.http.impl.conn.PoolingClientConnectionManager] Connection released: [id: 0][route: {s}->https://repo1.maven.org][total kept alive: 1; route allocated: 1 of 5; total allocated: 1 of 10]
    13:37:21.075 [INFO] [org.gradle.internal.resource.transport.http.HttpClientHelper] Resource missing. [HTTP HEAD: https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar]
    13:37:21.077 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'com.android.tools.build:gradle:2.0.0-alpha3' in repository 'MavenRepo'.
    13:37:21.081 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetaDataCache] Recording absence of module descriptor in cache: com.android.tools.build:gradle:2.0.0-alpha3 [changing = false]
    13:37:21.110 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.oldresult.TransientConfigurationResultsBuilder] Flushing resolved configuration data in Binary store in /tmp/gradle5603211777051205885.bin. Wrote root :2048-android:unspecified:classpath.
    13:37:21.145 [DEBUG] [org.gradle.configuration.project.BuildScriptProcessor] Timing: Running the build script took 3.726 secs
    13:37:21.189 [ERROR] [org.gradle.BuildExceptionReporter] 
    13:37:21.194 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
    13:37:21.198 [ERROR] [org.gradle.BuildExceptionReporter] 
    13:37:21.200 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
    13:37:21.202 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred configuring root project '2048-android'.
    13:37:21.203 [ERROR] [org.gradle.BuildExceptionReporter] > Could not resolve all dependencies for configuration ':classpath'.
    13:37:21.207 [ERROR] [org.gradle.BuildExceptionReporter]    > Could not find com.android.tools.build:gradle:2.0.0-alpha3.
    13:37:21.208 [ERROR] [org.gradle.BuildExceptionReporter]      Searched in the following locations:
    13:37:21.214 [ERROR] [org.gradle.BuildExceptionReporter]          https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom
    13:37:21.215 [ERROR] [org.gradle.BuildExceptionReporter]          https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar
    13:37:21.217 [ERROR] [org.gradle.BuildExceptionReporter]      Required by:
    13:37:21.221 [ERROR] [org.gradle.BuildExceptionReporter]          :2048-android:unspecified
    13:37:21.223 [ERROR] [org.gradle.BuildExceptionReporter] 
    13:37:21.237 [ERROR] [org.gradle.BuildExceptionReporter] * Try:
    13:37:21.238 [ERROR] [org.gradle.BuildExceptionReporter] Run with --stacktrace option to get the stack trace. 
    13:37:21.246 [LIFECYCLE] [org.gradle.BuildResultLogger] 
    13:37:21.248 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
    13:37:21.277 [LIFECYCLE] [org.gradle.BuildResultLogger] 
    13:37:21.280 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 7.917 secs
    13:37:21.291 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on cp_proj class cache for build file '/home/shnoulle/Développements/GIT/TEST/2048-android/build.gradle' (/home/shnoulle/.gradle/caches/2.8/scripts/build_tlq1ch3f54tbt4ige49tepdw/cp_proj).
    13:37:21.297 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.CachedStoreFactory] Resolved configuration cache closed. Cache reads: 0, disk reads: 0 (avg: 0.0 secs, total: 0.0 secs)
    13:37:21.298 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.CachedStoreFactory] Resolution result cache closed. Cache reads: 0, disk reads: 0 (avg: 0.0 secs, total: 0.0 secs)
    13:37:21.301 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.ResolutionResultsStoreFactory] Deleted 2 resolution results binary files in 0.004 secs
    13:37:21.303 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedRepositoryFactory] In-memory dependency metadata cache closed. Repos cached: 1, cache instances: 1, modules served from cache: 0, artifacts: 0
    13:37:21.307 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Closing cache artifact-at-url.bin (/home/shnoulle/.gradle/caches/modules-2/metadata-2.16/artifact-at-url.bin)
    13:37:21.310 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Closing cache module-metadata.bin (/home/shnoulle/.gradle/caches/modules-2/metadata-2.16/module-metadata.bin)
    13:37:21.311 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on artifact cache (/home/shnoulle/.gradle/caches/modules-2).
    13:37:21.313 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Cache Plugin Resolution Cache (/home/shnoulle/.gradle/caches/2.8/plugin-resolution) was closed 0 times.
    

    Broken with:

    > Could not resolve all dependencies for configuration ':classpath'.
       > Could not find com.android.tools.build:gradle:2.0.0-alpha3.
         Searched in the following locations:
             https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.pom
             https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.0.0-alpha3/gradle-2.0.0-alpha3.jar
         Required by:
             :2048-android:unspecified
    
    opened by Shnoulle 6
  • reorganize project setup, and maintenance

    reorganize project setup, and maintenance

    could you fix the submodule reference (if you merge this) please? i dont know how to (set it to the latest commit, which is this) https://github.com/uberspot/2048/commit/7986ea0432fc9fd6634dfeaff3b966ecb7aa78de

    opened by TacoTheDank 5
  • Suspicion of copyright violation

    Suspicion of copyright violation

    Hi @uberspot

    I found this app and also this one on Google Play Store. It seems that this apps are just the sames as your own app. This guys just took the source code, added some ads and put it on the Google Play Store...

    As you are the owner of the source code, feel free to open a request to google here to remove each false app from the Store, if it's your wish ;)

    Don't forget to tell Google that:

    • The app is licensed under MIT and this guy is violating it by distributing the app warning this is MIT licensed;
    • He is falsely claiming he made the app;
    • Also tell them that this guy has done the same thing already with other apps. Probably this is worth mentioning. (I watch him)
    opened by Poussinou 4
  • Webpage not availbale

    Webpage not availbale

    when i try to see the app on my phone before i do any change, i get an error

    "Webpage not available The webpage at file:///android_asset/2048/index.html?lang=en could not be loaded because: net::ERR_FILE_NOT_FOUND

    opened by RonyMady 3
  • Looks like a hang, work around by UNDO

    Looks like a hang, work around by UNDO

    I reached more than 102400 points and still have open spaces. Highest piece is 8192. The situation is as follows: Whenever I make a move it won't show up. Further input is impossible (at least it looks like). I use the UNDO to revert my move, then the previous situation gets shown. Then I can make ONE more move and I have to go through the UNDO loop again. Very annoying. When starting the app I see a score of 0 and a high score of 0. When using the UNDO my current game board is shown again and I can start with ONE move.

    System: Wiko Cink Peax 2, Android 4.1.2 (kernel 3.4.5, build ALPS.JB.SP.V1)

    opened by JoergHW 3
  • changelog

    changelog

    Please add a change log, for example i would like to know what has changed between version 1.90 and 1.91 and between version 1.91And 1.95.

    Thanks ang greatings. I am using fdroid:

    2048 (Puzzle game) - https://f-droid.org/app/com.uberspot.a2048

    opened by treakiandroid 3
  • Cannot find index.html

    Cannot find index.html

    This is all I get on my phone: Web page not available "file:///android_asset/2048/index.html"

    I don't know whether this is caused by the game itself or because I do not have the default Google browser on my phone ("only" Lightning Browser and Opera).

    opened by danielmmmm 3
  • F-Droid build won't start

    F-Droid build won't start

    Hi. I've just installed the apk from F-Droid. On clicking the icon a standard Android "website unavailable" screen shows, claiming that the "web" [sic] file:///android_asset/2048/index.html might be temporarily out of service or has moved.

    This is on a Xperia ST21i with Android 4.04.

    opened by anauta 2
  • Game Board or game area must be done relative to the screen size

    Game Board or game area must be done relative to the screen size

    A lot of users are complaining about the Game Board or game area that is too small in some devices which make it hard for the users to swipe the tiles. The optimal way is to use widgets or functions with relative values instead of strict values.

    opened by emadaltaki 0
  • The undo Button should be Optional

    The undo Button should be Optional

    A lot of users complaining about The undo Button that is slowing down the game and it is making it less challenging. It would be optimal to make the undo button optional.

    opened by emadaltaki 0
Owner
Paul S
Paul S
Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

null 32 Feb 13, 2022
Backend service for mobile/web application for a small cinema playing only movies

FFC - Fast & Furious Cinema Backend service for mobile/web application for a small cinema playing only movies from Fast & Furious franchise. Some assu

Łukasz Lipka 0 Dec 12, 2021
:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

Popular Movies Stage 1 + Stage 2 Discover the most popular and top rated movies playing. Movies data fetched using themoviedb.org API. ✨ Screenshots M

Yassin AJDI 189 Nov 26, 2022
A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline. This SDK does not require an internet connection, it automates USSD sessions in the background of an android application.

HoverSDKDemo Hover SDK is an Android SDK that lets mobile developers to add money features to the applications. This SDK does not require an internet

Joel Kanyi 9 Dec 21, 2022
An android app to read gitbook in the offline mode.

gitbook-android An android app to read gitbook in the offline mode. Requirement Android 2.3+ Preview License Copyright (C) 2016 Snowdream Mobile <yang

snowdream 42 Oct 20, 2022
An offline assistant for Android phones

The Sapphire Assistant Framework If you are looking for an Android assistant that is easy to use, flexible, and respects your privacy then look no fur

Christopher Carroll 286 Dec 28, 2022
Belajar Android Jetpack Pro Dicoding - with Hilt, LiveData, Online-Offline Caching, etc

movie-catalogue-jetpack-pro-dicoding Ini adalah final submission pada kelas Belajar Android Jetpack Pro di dicoding (get 5 star) Pada project ini terd

Rijal Muhyidin 2 Oct 5, 2022
A free and open-source offline authenticator app for Wear OS.

Wristkey Need 2FA codes quickly, right on your Wear watch without needing a phone? Wristkey is an open-source 2FA client for Wear OS watches that does

Owais Shaikh 80 Jan 4, 2023
Display's information about SpaceX crew members and ships by consuming a rest api and storing the data to display when the user is offline.

Space-X App Display's information about SpaceX crew members(look for ‘Crew’ section in rest api docs) and ships (look for ‘Ships’ section in rest api

krishna chaitanya 2 Apr 8, 2022
A Simple movies app using Kotllin, MVVM, and with an offline caching capability.

IMDB-CLONE A simple imdb clone using KOTLIN,MVVM with searching and bookmarking ability with offline caching ability Libraries used:- Kotlin Coroutine

saiteja janjirala 13 Aug 16, 2022
You can store all your password, bank details, card details in one place and remember only one master PIN. The application works totally offline.

Keep Password An application where you can store all your password, bank details, card details in one place and remember only one master PIN. The appl

rıdvan 4 Apr 18, 2022
This is a Interview application which made by me in interview task what it do? that will give you the result from Api and also save data in the cache using RoomDb so that we can access it offline.

Clean-MVVM-App An Android application built using Clean + MVVM architecture. Components used in the app. Kotlin - As a programming language. Material

Android1500 2 Oct 29, 2022
Freegemas libGDX is an Android and Java desktop port of Freegemas, which in turn is an open source version of the well known Bejeweled.

freegemas-gdx Freegemas libGDX is an Android, HTML 5 and Java desktop port of Freegemas, which in turn is an open source version of the well known Bej

David Saltares 144 Jun 21, 2022
Android port of Simon Tatham's Puzzles. *git replace in use* - you might want to {{ git fetch origin 'refs/replace/*:refs/replace/*' }}

This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.

Chris Boyle 470 Dec 22, 2022
Freegemas libGDX is an Android and Java desktop port of Freegemas, which in turn is an open source version of the well known Bejeweled.

freegemas-gdx Freegemas libGDX is an Android, HTML 5 and Java desktop port of Freegemas, which in turn is an open source version of the well known Bej

David Saltares 144 Jun 21, 2022
Pw0 Framewrok - magical android pentest app 🔮! Pixie Dust, Handshakes, Deauth, Nmap, Port scanner and more!

Pw0 Framework Pw0 Framewrok - magical android pentest app ?? ! Features: Pixie Dust Handshakes Deauth Nmap Port scanner and more! Version: 0.2 Beta Au

Huntmix 17 Sep 27, 2021
Pw0 Framewrok - magical android pentest app 🔮! Pixie Dust, Handshakes, Deauth, Nmap, Port scanner and more!

Pw0 Framework Pw0 Framewrok - magical android pentest app ?? ! Features: Pixie Dust Handshakes Deauth Nmap Port scanner and more! Version: 0.2 Beta Au

Zalexdev 17 Sep 27, 2021
This application is android port to desktop applicaton Scrcpy.

scrcpy-android This application is android port to desktop applicaton Scrcpy. This application mirrors display and touch controls from a remote androi

狸小华 50 Dec 20, 2022
A semi-official port of the open source Anki spaced repetition flashcard system to Android

AnkiDroid A semi-official port of the open source Anki spaced repetition flashcard system to Android. Memorize anything with AnkiDroid! Features night

AnkiDroid 5.8k Dec 30, 2022