Skip to content

lichess-org/lichobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Warning

Deprecation notice

This repository is deprecated. Maintainers may respond only to reports of critical bugs and security issues. The application is being rewritten from the ground up in Flutterhere. Until it is published, if you run into issues with this app, we suggest you use the mobile website.

Android build Lint and unit tests GitHub contributors GitHub All Releases GitHub

lichess mobile screenshots

Lichess mobile is the lichess.org official application. It is written inTypeScript,with a bit of Kotlin and Swift. It is a web application that accesses the native SDK, thanks toIonic capacitor. The rendering library ismithril.js. It talks to a nativeStockfishengine,supporting multiple variants,through a capacitor plugin. Multi-variant chess library is brought bya JavaScript version of scalachess.

Download

Get it on F-Droid Get it on Google Play

or get the APK from theReleases section

Required dependencies

Android:

  • in addition to capacitor dependencies,android ndkfor stockfish compilation (to install with Android Studio).

Setup project

Make sure to install all dependencies:

$ npm install

Capacitor needs the web app before sync, so build it:

$ npm run build

Sync capacitor:

$ npx cap sync

Running in the browser

$ npm run serve

Will serve assets athttp://localhost:8080. Once the server is up, browse tohttp://localhost:8080/www.

You should use a chromium based browser to be close to the android webview which is based on chrome.

Be sure toToggle Device Mode or else you won't be able to click on anything.

Running in a device/emulator

Be sure to install all the dependencies and follow the steps above in theSetup project section.

In order to build Stockfish, you need to download the current stockfish plugin NNUE file and save it to the proper location for each platform:

$ npm run fetch-nnue

Android

Using command line:

$ npx cap run android

Using android studio:

$ npx cap open android

More information availablehere.

Free version

By default, the output APK will rely onFirebase Cloud Messagingto support push notifications. However, it is possible to remove this dependency if you don't care about push notifications.

To build the free version:

$ npm run patch-nonfree
$ npx cap update android
$ cd./android
$./gradlew assembleDebug

iOS

You will need aGoogleService-Info.plistfile in order to compile iOS project. You can download a dummy one from thefirebase open-source project. Put it in theios/App/App/folder. Only debug builds are allowed with that example file. Push notifications won't work, but you will be able to run the app on a simulator just fine.

Using command line:

$ npx cap run ios

Using Xcode:

$ npx cap open ios

More information availablehere.

Advanced setup

See thewiki.