diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46eb9e2a..a017a802 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -55,6 +55,7 @@ build arm apk: - tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/ - rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9 - ln -s ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21 ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9 + - cp -f $CI_PROJECT_DIR/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm $CI_PROJECT_DIR/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle - cp -f $CI_PROJECT_DIR/scripts/build-target-python.sh ~/.buildozer/android/crystax-ndk-10.3.2/build/tools/build-target-python.sh - cp -f $CI_PROJECT_DIR/scripts/mangled-glibc-syscalls.h ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21/arch-arm/usr/include/crystax/bionic/libc/include/sys/mangled-glibc-syscalls.h - rm ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz diff --git a/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm b/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm new file mode 100644 index 00000000..78adf298 --- /dev/null +++ b/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm @@ -0,0 +1,127 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + jcenter() + google() + maven { url "https://jitpack.io" } + } + dependencies { + classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.google.gms:google-services:4.2.0' + } +} + +allprojects { + repositories { + jcenter() + maven { + url 'https://maven.google.com' + } + maven { + // All of React Native (JS, Android binaries) is installed from npm + url "$rootDir/react/node_modules/react-native/android" + } + flatDir { + dirs 'libs' + } + } +} + +apply plugin: 'com.android.application' + +android { + compileSdkVersion {{ android_api }} + buildToolsVersion '{{ build_tools_version }}' + defaultConfig { + minSdkVersion {{ args.min_sdk_version }} + targetSdkVersion {{ android_api }} + versionCode {{ args.numeric_version }} + versionName '{{ args.version }}' + missingDimensionStrategy 'react-native-camera', 'general' + multiDexEnabled true + + ndk { + abiFilters "armeabi-v7a" + } + } + + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } + + dexOptions { + jumboMode true + } + + {% if args.sign -%} + signingConfigs { + release { + storeFile file(System.getenv("P4A_RELEASE_KEYSTORE")) + keyAlias System.getenv("P4A_RELEASE_KEYALIAS") + storePassword System.getenv("P4A_RELEASE_KEYSTORE_PASSWD") + keyPassword System.getenv("P4A_RELEASE_KEYALIAS_PASSWD") + } + } + {%- endif %} + + buildTypes { + debug { + } + release { + {% if args.sign -%} + signingConfig signingConfigs.release + {%- endif %} + } + } + + sourceSets { + main { + jniLibs.srcDir 'libs' + } + } +} + +ext { + compileSdkVersion = {{ android_api }} + buildToolsVersion = '{{ build_tools_version }}' + minSdkVersion = {{ args.min_sdk_version }} + targetSdkVersion = {{ android_api }} + supportLibVersion = '27.1.1' + googlePlayServicesVersion = '16.1.0' + googlePlayServicesVisionVersion = '17.0.2' +} + +subprojects { + afterEvaluate {project -> + if (project.hasProperty("android")) { + android { + compileSdkVersion {{ android_api }} + buildToolsVersion '{{ build_tools_version }}' + } + } + } +} + +dependencies { + compile project(':@react-native-community_async-storage') + compile project(':react-native-camera') + compile project(':react-native-document-picker') + compile project(':react-native-exception-handler') + compile project(':react-native-fast-image') + compile project(':react-native-fs') + compile project(':react-native-gesture-handler') + compile project(':react-native-video') + compile project(':rn-fetch-blob') + {%- for aar in aars %} + compile(name: '{{ aar }}', ext: 'aar') + {%- endfor -%} + {%- if args.depends -%} + {%- for depend in args.depends %} + compile '{{ depend }}' + {%- endfor %} + {%- endif %} +} + +apply plugin: 'com.google.gms.google-services' +com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true