1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-22 12:21:15 +00:00
Wrapper of syncthing for Android.
Find a file
Simon Frei f0762bab12
Bump SDK to 32 (#1896)
This is just a "minor" upgrade for android "12L" - some tablet related
improvements we likely don't care about. This bump is to support a contribution
to migrate our UI from something legacy to an up-to-date default framework that
requires >=32.
2023-03-26 18:40:00 +02:00
.github Upgrade to GitHub-native Dependabot (#1646) 2021-05-14 17:40:33 +02:00
.tx Fix google play si language mapping 2022-02-23 22:30:19 +01:00
app Bump SDK to 32 (#1896) 2023-03-26 18:40:00 +02:00
docker Bump SDK to 32 (#1896) 2023-03-26 18:40:00 +02:00
gradle/wrapper Compile and target SDK version 31, increase min Sdk to 21 (#1864) 2022-11-27 20:27:54 +01:00
graphics Integrate gradle plugin for translation uploads (fixes #408, #463). 2015-11-16 22:10:00 +01:00
scripts Fix removing unsuitable use of open in bump version script 2023-01-01 21:58:06 +01:00
syncthing Updated Syncthing to v1.23.3-rc.1 2023-03-14 23:01:41 +01:00
.gitignore Ignore misc IDE files 2021-07-19 13:38:36 +02:00
.gitmodules Revert "Revert build script changes" 2017-10-24 14:55:28 +09:00
build.gradle Bump ndk to 25 2022-11-27 22:17:55 +01:00
CONTRIBUTING.md Added more info about logcat to contributing 2016-12-05 14:15:21 +09:00
gradle.properties build: Increase java heap size with gradle jvmargs 2021-07-18 14:32:52 +02:00
gradlew Update gradle (#1405) 2019-09-10 20:06:45 +02:00
gradlew.bat Update gradle (#1405) 2019-09-10 20:06:45 +02:00
ISSUE_TEMPLATE.md Added issue template, based on that in syncthing/syncthing. 2016-08-02 17:11:34 +02:00
LICENSE Change license to MPLv2. 2015-03-17 22:27:50 +01:00
prepare-release.bash Commit the rest of the build changes 2019-06-27 07:19:40 +02:00
README.md readme: Update and add detailed steps to build instructions (#1865) 2023-01-02 09:51:00 +01:00
settings.gradle Revert "Revert build script changes" 2017-10-24 14:55:28 +09:00

syncthing-android

License: MPLv2 Bountysource

A wrapper of Syncthing for Android.

screenshot 1 screenshot 2 screenshot 3

Get it on Google Play Get it on F-Droid

Translations

The project is translated on Transifex.

Dev

Language mappings are defined in .tx/config, with the second code being the one from transifex. Google play supported languages: https://support.google.com/googleplay/android-developer/table/4419860. Android supported languages: https://stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android. If a new language is added on transifex that's not supported, add them to deleteUnsupportedPlayTranslations in app/build.gradle.

Building

These dependencies and instructions are necessary for building from the command line. If you build using Docker or Android Studio, you don't need to set up and follow them separately.

Dependencies

  1. Android SDK and NDK
    1. Download SDK command line tools from https://developer.android.com/studio#command-line-tools-only.

    2. Unpack the downloaded archive to an empty folder. This path is going to become your ANDROID_HOME folder.

    3. Inside the unpacked cmdline-tools folder, create yet another folder called latest, then move everything else inside it, so that the final folder hierarchy looks as follows.

      cmdline-tools/latest/bin
      cmdline-tools/latest/lib
      cmdline-tools/latest/source.properties
      cmdline-tools/latest/NOTICE.txt
      
    4. Navigate inside cmdline-tools/latest/bin, then execute

      ./sdkmanager "platform-tools" "build-tools;<version>" "platforms;android-<version>" "extras;android;m2repository" "ndk;<version>"
      

      The required tools and NDK will be downloaded automatically.

      NOTE: You should check Dockerfile for the specific version numbers to insert in the command above.

  2. Go (see https://docs.syncthing.net/dev/building#prerequisites for the required version)
  3. Java version 11 (if not present in $PATH, you might need to set $JAVA_HOME accordingly)
  4. Python version 3

Build instructions

  1. Clone the project with
    git clone https://github.com/syncthing/syncthing-android.git --recursive
    
    Alternatively, if already present on the disk, run
    git submodule init && git submodule update
    
    in the project folder.
  2. Make sure that the ANDROID_HOME environment variable is set to the path containing the Android SDK (see Dependecies).
  3. Navigate inside syncthing-android, then build the APK file with
    ./gradlew buildNative
    ./gradlew assembleDebug
    
  4. Once completed, app-debug.apk will be present inside app/build/outputs/apk/debug.

NOTE: On Windows, you must use the Command Prompt (and not PowerShell) to compile. When doing so, in the commands replace all forward slashes / with backslashes \.

License

The project is licensed under the MPLv2.