diff --git a/pack.sh b/pack.sh index a2b296310de0d57d465031bf7c86301823f522ee..d9c8e9176bf7772bf0d3a8c3f9bb217283a9f651 100755 --- a/pack.sh +++ b/pack.sh @@ -70,7 +70,7 @@ BUILD_DIR=${PWD}/build_${BUILD_TARGET}_${BUILD_TYPE}/build OUT_DIR=${PWD}/build_${BUILD_TARGET}_${BUILD_TYPE}/ #we care only about dist dir, i think -[ ! -d ${DIST_DIR} ] && { echo "No build found: $BUILD_TARGET" && exit 255; } +#[ ! -d ${DIST_DIR} ] && { echo "No build found: $BUILD_TARGET" && exit 255; } if [ -z "$SIGNCONFIG" ] diff --git a/packaging/android.sh b/packaging/android.sh new file mode 100644 index 0000000000000000000000000000000000000000..d364f659b3f4ad98f2778c6733de8533186629cd --- /dev/null +++ b/packaging/android.sh @@ -0,0 +1,74 @@ +#!/bin/bash -e + +set -e + +SOURCE=${BASH_SOURCE[0]} +while [ -L "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + TARGET=$(readlink "$SOURCE") + if [[ $TARGET == /* ]]; then + echo "SOURCE '$SOURCE' is an absolute symlink to '$TARGET'" + SOURCE=$TARGET + else + DIR=$( dirname "$SOURCE" ) + echo "SOURCE '$SOURCE' is a relative symlink to '$TARGET' (relative to '$DIR')" + SOURCE=$DIR/$TARGET # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located + fi +done +echo "SOURCE is '$SOURCE'" +RDIR=$( dirname "$SOURCE" ) +DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd ) +HERE="$DIR" + +#check if we can sign apk +APK_SIGN_POSSIBLE=1 +if [ -z "$ANDROID_KEYSTORE_PATH" ] +then + echo "No ANDROID_KEYSTORE_PATH provided. APK will NOT be signed" + APK_SIGN_POSSIBLE=0 +fi + +if [ -z "$ANDROID_KEYSTORE_ALIAS" ] +then + echo "No ANDROID_KEYSTORE_ALIAS provided. APK will NOT be signed" + APK_SIGN_POSSIBLE=0 +fi + +if [ -z "$ANDROID_KEYSTORE_PASS" ] +then + echo "No ANDROID_KEYSTORE_PASS provided. APK will NOT be signed" + APK_SIGN_POSSIBLE=0 +fi + + + +FILL_VERSION() +{ + source "${HERE}/../version.mk" + + VERSION_UPDATE="s|VERSION_MAJOR|${VERSION_MAJOR}|g" + BUILD_UPDATE="s|VERSION_MINOR|${VERSION_MINOR}|g" + MAJOR_UPDATE="s|VERSION_PATCH|${VERSION_PATCH}|g" + + for TEMPLATE in "$@"; do + sed \ + -e "${VERSION_UPDATE}" \ + -e "${BUILD_UPDATE}" \ + -e "${MAJOR_UPDATE}" \ + -i "${TEMPLATE}" + done +} + +PACK() +{ + + DIST_DIR=$1 + BUILD_DIR=$2 + OUT_DIR=$3 + + cd $HERE/../../os/android + ./gradlew assembleRelease + + if [ "$APK_SIGN_POSSIBLE" -eq "1" ]; then + apksigner sign --ks-key-alias $ANDROID_KEYSTORE_ALIAS --ks $ANDROID_KEYSTORE_PATH --ks-pass pass:"$ANDROID_KEYSTORE_PASS" --in ./app/build/outputs/apk/release/app-release.apk --out ../../CellframeNode.apk + fi +} diff --git a/targets/android.sh b/targets/android.sh index eb7b724e199ba16da5c9e71a0fbf0acc9d1abd34..f6656d8c83a71fde0e8d6d38e5ef431585a6cd1c 100644 --- a/targets/android.sh +++ b/targets/android.sh @@ -19,9 +19,9 @@ RDIR=$( dirname "$SOURCE" ) DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd ) HERE="$DIR" -CMAKE=(cmake -DCMAKE_TOOLCHAIN_FILE=${ANDROID_CMAKE_TOOLCHAIN} -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=29) -MAKE=(make) +CMAKE=() +MAKE=() -echo "Linux target" +echo "Android target: use pack.sh!" echo "CMAKE=${CMAKE[@]}" echo "MAKE=${MAKE[@]}"