multiplatform: file structure (#2630)

* multiplatform: file structure

* apk file name

* more paths in sources

* lint issues and apk file name
This commit is contained in:
Stanislav Dmitrenko
2023-06-29 14:53:11 +03:00
committed by GitHub
parent b0ad94fe7f
commit 0e4376bada
452 changed files with 53 additions and 117 deletions

View File

@@ -15,13 +15,13 @@ git clone https://github.com/simplex-chat/simplex-chat "$tmp/simplex-chat"
git -C "$tmp/simplex-chat" checkout "$commit"
# Create missing folders
mkdir -p "$tmp/simplex-chat/apps/android/app/src/main/cpp/libs/arm64-v8a"
mkdir -p "$tmp/simplex-chat/apps/multiplatform/android/src/main/cpp/libs/arm64-v8a"
curl -sSf "$libsim" -o "$tmp/libsimplex.zip"
unzip -o "$tmp/libsimplex.zip" -d "$tmp/simplex-chat/apps/android/app/src/main/cpp/libs/arm64-v8a"
unzip -o "$tmp/libsimplex.zip" -d "$tmp/simplex-chat/apps/multiplatform/android/src/main/cpp/libs/arm64-v8a"
curl -sSf "$libsup" -o "$tmp/libsupport.zip"
unzip -o "$tmp/libsupport.zip" -d "$tmp/simplex-chat/apps/android/app/src/main/cpp/libs/arm64-v8a"
unzip -o "$tmp/libsupport.zip" -d "$tmp/simplex-chat/apps/multiplatform/android/src/main/cpp/libs/arm64-v8a"
gradle -p "$tmp/simplex-chat/apps/android/" clean build
cp "$tmp/simplex-chat/apps/android/app/build/outputs/apk/release/app-release-unsigned.apk" "$PWD/simplex-chat.apk"
gradle -p "$tmp/simplex-chat/apps/multiplatform/" clean build
cp "$tmp/simplex-chat/apps/multiplatform/android/build/outputs/apk/release/android-release-unsigned.apk" "$PWD/simplex-chat.apk"

View File

@@ -81,21 +81,21 @@ checks() {
build() {
# Build preparations
sed -i.bak 's/${extract_native_libs}/true/' "$folder/apps/android/app/src/main/AndroidManifest.xml"
sed -i.bak '/android {/a lint {abortOnError false}' "$folder/apps/android/app/build.gradle"
sed -i.bak 's/${extract_native_libs}/true/' "$folder/apps/multiplatform/android/src/main/AndroidManifest.xml"
sed -i.bak '/android {/a lint {abortOnError false}' "$folder/apps/multiplatform/android/build.gradle"
for arch in $arches; do
android_simplex_lib="${folder}#hydraJobs.${arch}-android:lib:simplex-chat.x86_64-linux"
android_support_lib="${folder}#hydraJobs.${arch}-android:lib:support.x86_64-linux"
android_simplex_lib_output="${PWD}/result/pkg-${arch}-android-libsimplex.zip"
android_support_lib_output="${PWD}/result/pkg-${arch}-android-libsupport.zip"
arch_map "$arch"
android_tmp_folder="${tmp}/android-${arch}"
android_apk_output="${folder}/apps/android/app/build/outputs/apk/release/app-${android_arch}-release-unsigned.apk"
android_apk_output="${folder}/apps/multiplatform/android/build/outputs/apk/release/android-${android_arch}-release-unsigned.apk"
android_apk_output_final="simplex-chat-${android_arch}.apk"
libs_folder="$folder/apps/android/app/src/main/cpp/libs"
libs_folder="$folder/apps/multiplatform/android/src/main/cpp/libs"
# Create missing folders
mkdir -p "$libs_folder/$android_arch"
@@ -107,12 +107,12 @@ build() {
unzip -o "$android_support_lib_output" -d "$libs_folder/$android_arch"
# Build only one arch
sed -i.bak "s/include '.*/include '${android_arch}'/" "$folder/apps/android/app/build.gradle"
gradle -p "$folder/apps/android/" clean assembleRelease
sed -i.bak "s/include '.*/include '${android_arch}'/" "$folder/apps/multiplatform/android/build.gradle"
gradle -p "$folder/apps/multiplatform/" clean assembleRelease
mkdir -p "$android_tmp_folder"
unzip -oqd "$android_tmp_folder" "$android_apk_output"
(
cd "$android_tmp_folder" && \
zip -rq5 "$tmp/$android_apk_output_final" . && \

View File

@@ -23,7 +23,7 @@ touch remove_this_file remove_this_FILE
#echo Case-insensitive file system: $case_insensitive
rm remove_this_file remove_this_FILE 2> /dev/null || true
ORIG_NAMES=( $(echo app*.apk) )
ORIG_NAMES=( $(echo android*.apk) )
for ORIG_NAME in "${ORIG_NAMES[@]}"; do
unzip -o -q -d apk $ORIG_NAME
ORIG_NAME_COPY=$ORIG_NAME-copy

View File

@@ -33,7 +33,7 @@ root_dir="$(dirname "$(dirname "$(readlink "$0")")")"
for ((i = 0 ; i < ${#arches[@]}; i++)); do
arch="${arches[$i]}"
output_arch="${output_arches[$i]}"
output_dir="$root_dir/apps/android/app/src/main/cpp/libs/$output_arch/"
output_dir="$root_dir/apps/multiplatform/android/src/main/cpp/libs/$output_arch/"
mkdir -p "$output_dir" 2> /dev/null

View File

@@ -1,12 +1,12 @@
#!/bin/sh
# libsimplex.so and libsupport.so binaries should be in ~/Downloads folder in their directories based on archive name
mkdir -p ./apps/android/app/src/main/cpp/libs/arm64-v8a/
rm ./apps/android/app/src/main/cpp/libs/arm64-v8a/*
unzip -o ~/Downloads/pkg-aarch64-android-libsupport.zip -d ./apps/android/app/src/main/cpp/libs/arm64-v8a
unzip -o ~/Downloads/pkg-aarch64-android-libsimplex.zip -d ./apps/android/app/src/main/cpp/libs/arm64-v8a/
mkdir -p ./apps/multiplatform/android/src/main/cpp/libs/arm64-v8a/
rm ./apps/multiplatform/android/src/main/cpp/libs/arm64-v8a/*
unzip -o ~/Downloads/pkg-aarch64-android-libsupport.zip -d ./apps/multiplatform/android/src/main/cpp/libs/arm64-v8a
unzip -o ~/Downloads/pkg-aarch64-android-libsimplex.zip -d ./apps/multiplatform/android/src/main/cpp/libs/arm64-v8a/
mkdir -p ./apps/android/app/src/main/cpp/libs/armeabi-v7a/
rm ./apps/android/app/src/main/cpp/libs/armeabi-v7a/*
unzip -o ~/Downloads/pkg-armv7a-android-libsupport.zip -d ./apps/android/app/src/main/cpp/libs/armeabi-v7a/
unzip -o ~/Downloads/pkg-armv7a-android-libsimplex.zip -d ./apps/android/app/src/main/cpp/libs/armeabi-v7a/
mkdir -p ./apps/multiplatform/android/src/main/cpp/libs/armeabi-v7a/
rm ./apps/multiplatform/android/src/main/cpp/libs/armeabi-v7a/*
unzip -o ~/Downloads/pkg-armv7a-android-libsupport.zip -d ./apps/multiplatform/android/src/main/cpp/libs/armeabi-v7a/
unzip -o ~/Downloads/pkg-armv7a-android-libsimplex.zip -d ./apps/multiplatform/android/src/main/cpp/libs/armeabi-v7a/