Install Gradle and Android SDK to build app from Ubuntu cmdline.
Install Gradle
URL: https://docs.gradle.org/current/userguide/installation.html
1
2
3
|
wget https://services.gradle.org/distributions/gradle-5.4.1-all.zip
unzip gradle-5.4.1-all.zip
mv gradle-5.4.1/ ~/.gradle
|
Include offline components in your Gradle project
URL: https://developer.android.com/studio/intro/studio-config#offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
cat > ~/.gradle/init.d/offline.gradle <<- EOF
def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2")
def repos = new ArrayList()
reposDir.eachDir {repos.add(it) }
repos.sort()
allprojects {
buildscript {
repositories {
for (repo in repos) {
maven {
name = "injected_offline_${repo.name}"
url = repo.toURI().toURL()
}
}
}
}
repositories {
for (repo in repos) {
maven {
name = "injected_offline_${repo.name}"
url = repo.toURI().toURL()
}
}
}
}
EOF
|
URL: https://developer.android.com/studio#offline
1
2
3
4
|
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
mkdir -p ~/.android/manual-offline-m2/
cd ~/.android/manual-offline-m2/ && unzip sdk-tools-linux-4333796.zip
|
Install Android SDK
URL: https://developer.android.com/studio/command-line/sdkmanager
1
2
|
cd ~/.android/manual-offline-m2/ && \
./tools/bin/sdkmanager "platform-tools" "platforms;android-28"
|
Build BLE_HID_EXAMPLE
1
2
|
git clone https://github.com/Aleksander-Drewnicki/BLE_HID_EXAMPLE
cd BLE_HID_EXAMPLE && ./gradlew build
|
Gradle proxy configuration
URL: https://stackoverflow.com/questions/5991194/gradle-proxy-configuration
1
2
3
4
|
./gradlew \
-Dhttp.proxyHost=192.168.1.39 -Dhttp.proxyPort=1080 \
-Dhttps.proxyHost=192.168.1.39 -Dhttps.proxyPort=1080 \
build
|
Fix “running out of JVM memory”
URL: https://stackoverflow.com/questions/59624003/daemon-is-stopping-immediately-jvm-garbage-collector-thrashing-and-after-running
1
|
echo "org.gradle.jvmargs=-Xmx4096M" >> gradle.properties
|
Build go-tun2socks-mobile
1
2
3
4
5
6
7
8
9
10
11
|
git clone https://github.com/eycorsican/go-tun2socks-mobile
cd go-tun2socks-mobile/ && {
go get -d .
go get golang.org/x/mobile/cmd/gomobile
export PATH=~/go/bin:$PATH
gomobile init
export ANDROID_HOME=~/.android/manual-offline-m2
export ANDROID_NDK_HOME=~/.android/ndk/android-ndk-r21d
make android
}
|