Update android build script to support aab file
This commit is contained in:
parent
4ee72fde50
commit
4e6fbd2787
@ -127,18 +127,10 @@ Before compilation you have to set:
|
||||
|
||||
export BUILD_TYPE=release
|
||||
|
||||
It's also needed to set STK_STOREPASS, STK_KEYSTORE and STK_ALIAS environment
|
||||
variables, so that the apk files can be signed.
|
||||
|
||||
and then you make standard compilation with:
|
||||
|
||||
./generate_assets.sh
|
||||
./make.sh -j5
|
||||
|
||||
|
||||
The compiled apk is unsigned, so you have to sign it with your key. To sign it,
|
||||
you have to run:
|
||||
|
||||
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore \
|
||||
my-release-key.keystore SuperTuxKart-release-unsigned.apk alias_name
|
||||
|
||||
and then:
|
||||
|
||||
zipalign -v 4 SuperTuxKart-release-unsigned.apk SuperTuxKart-release.apk
|
||||
./make.sh -j $(($(nproc) + 1))
|
||||
|
@ -28,6 +28,25 @@ android
|
||||
compileSdkVersion compile_sdk_version.toInteger()
|
||||
buildToolsVersion build_tools_ver
|
||||
|
||||
signingConfigs
|
||||
{
|
||||
release
|
||||
{
|
||||
storeFile file(keystore)
|
||||
storePassword storepass
|
||||
keyAlias alias
|
||||
keyPassword storepass
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes
|
||||
{
|
||||
release
|
||||
{
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets
|
||||
{
|
||||
main
|
||||
|
@ -218,6 +218,29 @@ if [ ! -d "$SDK_PATH" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
# Check if we have key for signing in release build
|
||||
if [ "$GRADLE_BUILD_TYPE" = "assembleRelease" ]; then
|
||||
if [ -z "$STK_KEYSTORE" ]; then
|
||||
echo "Error: STK_KEYSTORE variable is empty."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -f "$STK_KEYSTORE" ]; then
|
||||
echo "Error: Couldn't find $STK_KEYSTORE file."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "$STK_STOREPASS" ]; then
|
||||
echo "Error: STK_STOREPASS variable is empty"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "$STK_ALIAS" ]; then
|
||||
echo "Error: STK_ALIAS variable is empty."
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
# Find newest build-tools version
|
||||
if [ -z "$BUILD_TOOLS_VER" ]; then
|
||||
BUILD_TOOLS_DIRS=`ls -1 "$SDK_PATH/build-tools" | sort -V -r`
|
||||
@ -681,11 +704,17 @@ fi
|
||||
export ANDROID_HOME="$SDK_PATH"
|
||||
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
$GRADLE_BUILD_TYPE
|
||||
|
||||
if [ "$GRADLE_BUILD_TYPE" = "assembleRelease" ]; then
|
||||
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
"bundleRelease"
|
||||
fi
|
||||
|
||||
|
@ -9,11 +9,11 @@
|
||||
# STK for your own use, then use android/make.sh script instead.
|
||||
|
||||
export BUILD_TYPE=Beta
|
||||
export PROJECT_VERSION=git20181001
|
||||
export PROJECT_CODE=48
|
||||
export STOREPASS="xxx"
|
||||
export KEYSTORE="/path/to/stk.keystore"
|
||||
export ALIAS="alias"
|
||||
export PROJECT_VERSION=git20200827
|
||||
export PROJECT_CODE=192
|
||||
export STK_STOREPASS="xxx"
|
||||
export STK_KEYSTORE="/path/to/stk.keystore"
|
||||
export STK_ALIAS="alias"
|
||||
|
||||
|
||||
check_error()
|
||||
@ -105,7 +105,7 @@ generate_assets()
|
||||
ASSETS_PATHS="../android-output/assets-lq/data" \
|
||||
./generate_assets.sh
|
||||
|
||||
if [ ! -f "./assets/directories.txt" ]; then
|
||||
if [ ! -f "./assets/files.txt" ]; then
|
||||
echo "Error: Couldn't generate assets"
|
||||
return
|
||||
fi
|
||||
@ -113,6 +113,8 @@ generate_assets()
|
||||
if [ -f "./assets/data/supertuxkart.git" ]; then
|
||||
mv "./assets/data/supertuxkart.git" \
|
||||
"./assets/data/supertuxkart.$PROJECT_VERSION"
|
||||
sed -i "s/data\/supertuxkart.git/data\/supertuxkart.$PROJECT_VERSION/g" \
|
||||
"./assets/files.txt"
|
||||
fi
|
||||
|
||||
cd -
|
||||
@ -143,7 +145,7 @@ generate_full_assets()
|
||||
OUTPUT_PATH="assets-hq" \
|
||||
./generate_assets.sh
|
||||
|
||||
if [ ! -f "./assets-hq/directories.txt" ]; then
|
||||
if [ ! -f "./assets-hq/files.txt" ]; then
|
||||
echo "Error: Couldn't generate full assets"
|
||||
return
|
||||
fi
|
||||
@ -183,7 +185,7 @@ generate_lq_assets()
|
||||
OUTPUT_PATH="assets-lq" \
|
||||
./generate_assets.sh
|
||||
|
||||
if [ ! -f "./assets-lq/directories.txt" ]; then
|
||||
if [ ! -f "./assets-lq/files.txt" ]; then
|
||||
echo "Error: Couldn't generate lq assets"
|
||||
return
|
||||
fi
|
||||
@ -217,38 +219,28 @@ build_package()
|
||||
export COMPILE_ARCH=$ARCH1
|
||||
|
||||
cd ./android-$ARCH1
|
||||
./make.sh -j5
|
||||
./make.sh -j $(($(nproc) + 1))
|
||||
cd -
|
||||
|
||||
if [ ! -f ./android-$ARCH1/build/outputs/apk/release/android-$ARCH1-release-unsigned.apk ]; then
|
||||
if [ ! -f ./android-$ARCH1/build/outputs/apk/release/android-$ARCH1-release.apk ]; then
|
||||
echo "Error: Couldn't build apk for architecture $ARCH1"
|
||||
return
|
||||
fi
|
||||
|
||||
cp ./android-$ARCH1/build/outputs/apk/release/android-$ARCH1-release-unsigned.apk \
|
||||
./android-output/SuperTuxKart-$PROJECT_VERSION-$ARCH1-unaligned.apk
|
||||
if [ ! -f ./android-$ARCH1/build/outputs/bundle/release/android-$ARCH1.aab ]; then
|
||||
echo "Error: Couldn't build app bundle for architecture $ARCH1"
|
||||
return
|
||||
fi
|
||||
|
||||
cp ./android-$ARCH1/build/outputs/apk/release/android-$ARCH1-release.apk \
|
||||
./android-output/SuperTuxKart-$PROJECT_VERSION-$ARCH1.apk
|
||||
|
||||
cp ./android-$ARCH1/build/outputs/bundle/release/android-$ARCH1.aab \
|
||||
./android-output/SuperTuxKart-$PROJECT_VERSION-$ARCH1.aab
|
||||
|
||||
cp ./android-$ARCH1/obj/local/$ARCH2/libmain.so \
|
||||
./android-output/SuperTuxKart-$PROJECT_VERSION-$ARCH1-libmain.so
|
||||
|
||||
cd ./android-output
|
||||
|
||||
jarsigner -sigalg SHA1withRSA -digestalg SHA1 \
|
||||
-keystore "$KEYSTORE" \
|
||||
-storepass "$STOREPASS" \
|
||||
SuperTuxKart-$PROJECT_VERSION-$ARCH1-unaligned.apk \
|
||||
"$ALIAS"
|
||||
|
||||
check_error
|
||||
|
||||
zipalign -f 4 SuperTuxKart-$PROJECT_VERSION-$ARCH1-unaligned.apk \
|
||||
SuperTuxKart-$PROJECT_VERSION-$ARCH1.apk
|
||||
|
||||
check_error
|
||||
|
||||
rm SuperTuxKart-$PROJECT_VERSION-$ARCH1-unaligned.apk
|
||||
|
||||
cd -
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user