-
Notifications
You must be signed in to change notification settings - Fork 229
Expand file tree
/
Copy pathcloud_build.sh
More file actions
executable file
·71 lines (62 loc) · 2.63 KB
/
cloud_build.sh
File metadata and controls
executable file
·71 lines (62 loc) · 2.63 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env sh
# cache gradle to /tmp/.gradle
ls ~/.gradle || (mkdir -p /tmp/.gradle && ln -s /tmp/.gradle ~/.gradle && touch ~/.gradle/ln_$(date "+%y%m%d%H") && ls ~/.gradle)
## use open jdk 17
SYSTEM=$(uname -s)
if [ "$SYSTEM" = "Linux" ];then
if [ ! -d "/tmp/jdk-17.0.2" ];then
curl -O https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
tar zxf openjdk-17.0.2_linux-x64_bin.tar.gz
mv jdk-17.0.2 /tmp/
fi
export JAVA_HOME=/tmp/jdk-17.0.2
export ANDROID_HOME=/usr/lib/android_sdk
elif [ "$SYSTEM" = "Darwin" ];then
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export ANDROID_HOME=${ANDROID_HOME:-$HOME/Library/Android/sdk}
fi
export PATH=$JAVA_HOME/bin:$PATH
java --version || { echo "Error: Failed to get Java version"; exit 1; }
# Configure environment
if [ "$SYSTEM" = "Linux" ];then
[ -f ~/.bashrc ] && source ~/.bashrc
else
# Try to load zsh config first, if not found then try bash_profile
if [ -f ~/.zshrc ]; then
source ~/.zshrc
elif [ -f ~/.bash_profile ]; then
source ~/.bash_profile
fi
fi
#change android maven to china repos
sed -ie "s#google()#maven { url \"https\://maven.aliyun.com/repository/public\" }\n google()#g" settings.gradle
sed -ie "s#https://services.gradle.org/distributions#https://mirrors.cloud.tencent.com/gradle#g" gradle/wrapper/gradle-wrapper.properties
## config appId
sed -i -e "s#YOUR APP ID#${APP_ID}#g" app/src/main/res/values/string_configs.xml
sed -i -e "s#YOUR APP CERTIFICATE##g" app/src/main/res/values/string_configs.xml
sed -i -e "s#YOUR ACCESS TOKEN##g" app/src/main/res/values/string_configs.xml
rm -f app/src/main/res/values/string_configs.xml-e
./gradlew clean || exit 1
./gradlew :app:assembleRelease || exit 1
# Extract SDK version from gradle.properties
SDK_VERSION=""
sdk_version_file="./gradle.properties"
if [[ -f "$sdk_version_file" ]]; then
rtc_sdk_version=$(grep "rtc_sdk_version" "$sdk_version_file" | cut -d'=' -f2)
if [[ -n "$rtc_sdk_version" ]]; then
SDK_VERSION=$(echo "$rtc_sdk_version" | sed 's/^[ \t]*//;s/[ \t]*$//')
echo "SDK Version from gradle.properties: $SDK_VERSION"
else
echo "Warning: rtc_sdk_version value not found in gradle.properties"
SDK_VERSION="unknown"
fi
else
echo "Warning: gradle.properties file not found"
SDK_VERSION="unknown"
fi
if [ "$WORKSPACE" != "" ]; then
PROJECT_NAME="Agora-APIExample-Audio"
APK_NAME="${PROJECT_NAME}_${BUILD_NUMBER}_${SDK_VERSION}_$(date "+%Y%m%d%H%M%S").apk"
echo "Copying APK to: $WORKSPACE/$APK_NAME"
cp app/build/outputs/apk/release/*.apk "$WORKSPACE/$APK_NAME"
fi