6d8805b69f
For strings containing escaped newlines (\n), always start a new line right before that sequence and remove any other whitespace in between. Let the closing </string> tag follow immediately on the last line. Keep one-line translations on one line, without arbitrary wrapping. Actually fix some line-break inconsistencies within the translations along the way. Some had questionable \n\ sequences, capitalized \N or the n actually forgotten after an escaping backslash, which lead to parsing errors. Others simply used two line breaks (which are collapsed to one space during parsing) instead of the needed \n escape sequence. This gets the format much closer to what Weblate generates when dumping the parsed strings into fresh XML files. Also harmonizes the formatting in the "source" (English) values/strings.xml though. |
||
---|---|---|
.github | ||
.tx | ||
app | ||
docker | ||
gradle/wrapper | ||
graphics | ||
scripts | ||
syncthing | ||
.gitignore | ||
.gitmodules | ||
build.gradle | ||
CONTRIBUTING.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
prepare-release.bash | ||
README.md | ||
settings.gradle |
syncthing-android
A wrapper of Syncthing for Android.
Status: "Maintenance mode" - Co-maintainers welcome
tl;dr: The app is still kept up to date, and contributions are still welcome - however even reviews for those can take a long time. Co-maintainers are very welcome - get in touch if you are interested.
No-one is dedicating significant time into development or reviews. It's still kept up to date with Syncthing, Android and dependencies under the wider Syncthing project umbrella on a best effort basis. Contributions are reviewed, however available time for that is scarce so it will take a while. And obviously it depends both on the size/clarity of the change and (admittedly subjective) relevance of it - chance of successful and speedier reviews is higher if your change is targeted and small.
No feature request taken (feature contributions case-by-case)
Handling feature requests use up the little time that is present to keep the app up-to-date, and there is no feature development happening. So unless you are opening a feature request to discuss your own contribution before jumping into coding, the request will be closed directly with some template answer pointing at this section.
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
- Android SDK and NDK
-
Download SDK command line tools from https://developer.android.com/studio#command-line-tools-only.
-
Unpack the downloaded archive to an empty folder. This path is going to become your
ANDROID_HOME
folder. -
Inside the unpacked
cmdline-tools
folder, create yet another folder calledlatest
, 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
-
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.
-
- Go (see https://docs.syncthing.net/dev/building#prerequisites for the required version)
- Java version 11 (if not present in
$PATH
, you might need to set$JAVA_HOME
accordingly) - Python version 3
Build instructions
- Clone the project with
Alternatively, if already present on the disk, rungit clone https://github.com/syncthing/syncthing-android.git --recursive
in the project folder.git submodule init && git submodule update
- Make sure that the
ANDROID_HOME
environment variable is set to the path containing the Android SDK (see Dependecies). - Navigate inside
syncthing-android
, then build the APK file with./gradlew buildNative ./gradlew assembleDebug
- Once completed,
app-debug.apk
will be present insideapp/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.