mirror of
https://github.com/syncthing/syncthing-android.git
synced 2024-11-22 12:21:15 +00:00
Set ndk path automatically in gradle (#1741)
This commit is contained in:
parent
72cc528888
commit
abbe8afd2d
6 changed files with 13 additions and 9 deletions
|
@ -21,8 +21,8 @@ Language mappings are defined in `.tx/config`, with the second code being the on
|
||||||
# Building
|
# Building
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
- Android SDK (you can skip this if you are using Android Studio)
|
- Android SDK, with `$ANDROID_HOME` pointing to it (you can skip this if you are using Android Studio)
|
||||||
- Android NDK (`$ANDROID_NDK_HOME` should point at the root directory of your NDK)
|
- Android NDK (you should install the required version (`ext.ndkVersionShared` in `./build.gradle`) with the usual tools, such that it's located within `$ANDROID_HOME/ndk/`).
|
||||||
- Go (see [here](https://docs.syncthing.net/dev/building.html#prerequisites) for the required version)
|
- Go (see [here](https://docs.syncthing.net/dev/building.html#prerequisites) for the required version)
|
||||||
- Java Version 11 (you scan skip this if you are using Android Studio, otherwise you might need to set `$JAVA_HOME` accordingly)
|
- Java Version 11 (you scan skip this if you are using Android Studio, otherwise you might need to set `$JAVA_HOME` accordingly)
|
||||||
|
|
||||||
|
|
|
@ -24,10 +24,10 @@ dependencies {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
// Changes to these values need to be reflected in `.travis.yml`
|
// Changes to these values need to be reflected in `../docker/Dockerfile`
|
||||||
compileSdkVersion 29
|
compileSdkVersion 29
|
||||||
buildToolsVersion '29.0.3'
|
buildToolsVersion '29.0.3'
|
||||||
ndkVersion = '23.0.7599858'
|
ndkVersion = "${ndkVersionShared}"
|
||||||
|
|
||||||
buildTypes.debug.applicationIdSuffix ".debug"
|
buildTypes.debug.applicationIdSuffix ".debug"
|
||||||
dataBinding.enabled = true
|
dataBinding.enabled = true
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
ext {
|
||||||
|
// Cannot be called "ndkVersion" as that leads to naming collision
|
||||||
|
// Changes to this value must be reflected in `./docker/Dockerfile`
|
||||||
|
ndkVersionShared = '23.0.7599858'
|
||||||
|
}
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
jcenter()
|
jcenter()
|
||||||
|
|
|
@ -35,9 +35,6 @@ RUN $SDKMANAGER tools platform-tools "build-tools;29.0.3" "platforms;android-29"
|
||||||
# Accept licenses of newly installed packages
|
# Accept licenses of newly installed packages
|
||||||
RUN yes | $SDKMANAGER --licenses
|
RUN yes | $SDKMANAGER --licenses
|
||||||
|
|
||||||
# Setup the NDK path
|
|
||||||
ENV ANDROID_NDK_HOME ${ANDROID_HOME}/ndk/${NDK_VERSION}
|
|
||||||
|
|
||||||
# Enable prebuild mode
|
# Enable prebuild mode
|
||||||
ENV SYNCTHING_ANDROID_PREBUILT 1
|
ENV SYNCTHING_ANDROID_PREBUILT 1
|
||||||
|
|
||||||
|
|
|
@ -60,10 +60,11 @@ def get_min_sdk(project_dir):
|
||||||
|
|
||||||
def get_ndk_home():
|
def get_ndk_home():
|
||||||
if not os.environ.get('ANDROID_NDK_HOME', ''):
|
if not os.environ.get('ANDROID_NDK_HOME', ''):
|
||||||
fail('ANDROID_NDK_HOME environment variable not defined')
|
if not os.environ.get('NDK_VERSION', '') or not os.environ.get('ANDROID_HOME', ''):
|
||||||
|
fail('ANDROID_NDK_HOME or NDK_VERSION and ANDROID_HOME environment variable must be defined')
|
||||||
|
return os.path.join(os.environ['ANDROID_HOME'], 'ndk', os.environ['NDK_VERSION'])
|
||||||
return os.environ['ANDROID_NDK_HOME']
|
return os.environ['ANDROID_NDK_HOME']
|
||||||
|
|
||||||
|
|
||||||
if platform.system() not in PLATFORM_DIRS:
|
if platform.system() not in PLATFORM_DIRS:
|
||||||
fail('Unsupported python platform %s. Supported platforms: %s', platform.system(),
|
fail('Unsupported python platform %s. Supported platforms: %s', platform.system(),
|
||||||
', '.join(PLATFORM_DIRS.keys()))
|
', '.join(PLATFORM_DIRS.keys()))
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
task buildNative(type: Exec) {
|
task buildNative(type: Exec) {
|
||||||
|
environment "NDK_VERSION", "$ndkVersionShared"
|
||||||
inputs.dir("$projectDir/src/")
|
inputs.dir("$projectDir/src/")
|
||||||
outputs.dir("$projectDir/../app/src/main/jniLibs/")
|
outputs.dir("$projectDir/../app/src/main/jniLibs/")
|
||||||
executable = 'python3'
|
executable = 'python3'
|
||||||
|
|
Loading…
Reference in a new issue