Compare commits

..

6 commits

Author SHA1 Message Date
a2e864481d Allow privileged app with JNIs
microG GmsCore now requires JNIs
2024-10-07 17:45:23 -04:00
f35ea9abad We can't replace the dialer app 2024-10-06 11:30:24 -04:00
155d5c25c9 Replace clock with Chrono 2024-10-05 13:59:13 -04:00
f0482bbf34 Include Fossify Contacts as well 2024-10-05 11:39:40 -04:00
a6abfcdaed Use fossify phone and messaging 2024-10-05 10:51:23 -04:00
6d799eeff4 Make update.sh more robust 2024-10-05 09:37:15 -04:00

View file

@ -1,8 +1,22 @@
#!/bin/bash #!/bin/bash
set -e set -e
PRIVILEGED_APPS=(
"com.google.android.gms"
"com.android.vending"
)
if ! which aapt; then
echo "No aapt binary found; run \`mm aapt\` first"
exit 1
fi
# Always execute in the script's directory # Always execute in the script's directory
pushd "$(dirname "$(realpath "$0")")" pushd "$(dirname "$(realpath "$0")")"
# Clean up all previously generated
rm -rf Android.mk apps.mk bin lib
repo="https://f-droid.org/repo/" repo="https://f-droid.org/repo/"
prebuilt_libs=() prebuilt_libs=()
@ -19,6 +33,10 @@ addPrebuiltJniModules() {
for lib_mod_name in "${prebuilt_libs[@]}"; do for lib_mod_name in "${prebuilt_libs[@]}"; do
lib="$(awk -F'__' '{ print $2 }' <<< "$lib_mod_name")" lib="$(awk -F'__' '{ print $2 }' <<< "$lib_mod_name")"
app_mod="$(awk -F'__' '{ print $1 }' <<< "$lib_mod_name")" app_mod="$(awk -F'__' '{ print $1 }' <<< "$lib_mod_name")"
app_dir="app"
if contains "$app_mod" "${PRIVILEGED_APPS[@]}"; then
app_dir="priv-app"
fi
cat >> Android.mk <<EOF cat >> Android.mk <<EOF
include \$(CLEAR_VARS) include \$(CLEAR_VARS)
LOCAL_MODULE := $lib_mod_name LOCAL_MODULE := $lib_mod_name
@ -32,7 +50,7 @@ LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_CHECK_ELF_FILES := false LOCAL_CHECK_ELF_FILES := false
LOCAL_PRODUCT_MODULE := true LOCAL_PRODUCT_MODULE := true
LOCAL_STRIP_MODULE := false LOCAL_STRIP_MODULE := false
LOCAL_MODULE_PATH := \$(TARGET_OUT_PRODUCT)/app/$app_mod/lib/\$(TARGET_ARCH)/ LOCAL_MODULE_PATH := \$(TARGET_OUT_PRODUCT)/$app_dir/$app_mod/lib/\$(TARGET_ARCH)/
include \$(BUILD_PREBUILT) include \$(BUILD_PREBUILT)
EOF EOF
done done
@ -53,20 +71,20 @@ addJNI() {
local_prebuilt_libs+=("${libname}") local_prebuilt_libs+=("${libname}")
done <<< "$(unzip -l -qq bin/$1 'lib/*')" done <<< "$(unzip -l -qq bin/$1 'lib/*')"
if [[ ! -z "$local_prebuilt_libs" ]]; then if [[ ! -z "$local_prebuilt_libs" ]]; then
addition+=$'\n'
addition+="LOCAL_REQUIRED_MODULES := ${local_prebuilt_libs[@]}" addition+="LOCAL_REQUIRED_MODULES := ${local_prebuilt_libs[@]}"
prebuilt_libs+=("${local_prebuilt_libs[@]}") prebuilt_libs+=("${local_prebuilt_libs[@]}")
fi fi
} }
addCopy() { addCopy() {
addition="" addition=""
if [ "$2" == com.google.android.gms ] || [ "$2" == com.android.vending ] ;then if contains "$2" "${PRIVILEGED_APPS[@]}"; then
addition="LOCAL_PRIVILEGED_MODULE := true" addition="LOCAL_PRIVILEGED_MODULE := true"
else
# Only add JNI for non-priv-apps (because addJNI and addPrebuiltJniModules do not support priv-app properly)
addJNI $1 $2
fi fi
addJNI $1 $2
cat >> Android.mk <<EOF cat >> Android.mk <<EOF
include \$(CLEAR_VARS) include \$(CLEAR_VARS)
LOCAL_MODULE := $2 LOCAL_MODULE := $2
@ -166,7 +184,16 @@ downloadFromFdroid com.aurora.store
# Mail client # Mail client
downloadFromFdroid com.fsck.k9 "Email" downloadFromFdroid com.fsck.k9 "Email"
# Gallery
downloadFromFdroid org.fossify.gallery "Photos Gallery Gallery2" downloadFromFdroid org.fossify.gallery "Photos Gallery Gallery2"
# Camera
downloadFromFdroid net.sourceforge.opencamera "Camera Camera2"
# Messages
downloadFromFdroid org.fossify.messages messaging
# Contacts
downloadFromFdroid org.fossify.contacts Contacts
# Clock
downloadFromFdroid com.vicolo.chrono "DeskClock AlarmClock"
downloadFromFdroid com.machiav3lli.fdroid downloadFromFdroid com.machiav3lli.fdroid