blob: bd49847315dc2446957aaac86d7175a1fccc61b0 [file] [log] [blame]
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +01001#!/bin/bash
Pierre-Hugues Hussonbfff2a32018-06-04 21:19:12 +02002set -e
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +01003
Jon West9fd0d662021-04-01 16:07:30 -04004RED='\033[0;31m'
5GREEN='\033[0;32m'
6YELLOW='\033[0;33m'
7LT_BLUE='\033[0;34m'
8
9NC='\033[0m' # No Color
10
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010011repo="https://f-droid.org/repo/"
12
13addCopy() {
Pierre-Hugues Husson16644af2020-04-05 16:08:40 +020014 addition=""
Unknownfebe9c82020-11-09 08:46:50 -050015 #~ if unzip bin/$1 lib/* > /dev/null 2>&1 ; then
16 #~ echo "Extracting libs for: $2"
17 #~ addition="
18 #~ LOCAL_PREBUILT_JNI_LIBS := \\
19 #~ $(unzip -lv bin/$1 |grep -v Stored |sed -nE 's;.*(lib/arm64-v8a/.*);\t\1 \\;p') \\
20 #~ $(unzip -lv bin/$1 |grep -v Stored |sed -nE 's;.*(lib/x86/.*);\t\1 \\;p') \\
21 #~ $(unzip -lv bin/$1 |grep -v Stored |sed -nE 's;.*(lib/x86_64/.*);\t\1 \\;p')
22 #~ "
23 #~ else
24 #~ echo "Skipping lib extraction for: $2"
25 #~ fi
Pierre-Hugues Hussone1b56f52020-11-03 18:15:49 +010026 if [ "$2" == com.google.android.gms ] || [ "$2" == com.android.vending ] ;then
27 addition="LOCAL_PRIVILEGED_MODULE := true"
28 fi
Pierre-Hugues Hussonc1f73e82017-12-04 16:43:14 +010029cat >> Android.mk <<EOF
30include \$(CLEAR_VARS)
Pierre-Hugues Hussonc1f73e82017-12-04 16:43:14 +010031LOCAL_MODULE := $2
32LOCAL_MODULE_TAGS := optional
33LOCAL_SRC_FILES := bin/$1
34LOCAL_MODULE_CLASS := APPS
Pierre-Hugues Hussonea4517b2017-12-04 16:45:04 +010035LOCAL_CERTIFICATE := PRESIGNED
Pierre-Hugues Husson3811d162017-12-04 23:07:00 +010036LOCAL_OVERRIDES_PACKAGES := $3
Pierre-Hugues Husson16644af2020-04-05 16:08:40 +020037$addition
Pierre-Hugues Hussonc1f73e82017-12-04 16:43:14 +010038include \$(BUILD_PREBUILT)
Pierre-Hugues Husson5250fdd2017-12-04 22:18:22 +010039
Pierre-Hugues Hussonc1f73e82017-12-04 16:43:14 +010040EOF
41echo -e "\t$2 \\" >> apps.mk
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010042}
43
Jon West9fd0d662021-04-01 16:07:30 -040044echo -e "${LT_BLUE}# Setting Up${NC}"
Pierre-Hugues Husson16644af2020-04-05 16:08:40 +020045rm -Rf apps.mk lib
Pierre-Hugues Hussonc1f73e82017-12-04 16:43:14 +010046cat > Android.mk <<EOF
47LOCAL_PATH := \$(my-dir)
48
49EOF
50echo -e 'PRODUCT_PACKAGES += \\' > apps.mk
51
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010052mkdir -p bin
Pierre-Hugues Hussone1b56f52020-11-03 18:15:49 +010053
Pierre-Hugues Husson5250fdd2017-12-04 22:18:22 +010054#downloadFromFdroid packageName overrides
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010055downloadFromFdroid() {
56 mkdir -p tmp
Pierre-Hugues Hussone1b56f52020-11-03 18:15:49 +010057 [ "$oldRepo" != "$repo" ] && rm -f tmp/index.xml
58 oldRepo="$repo"
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010059 if [ ! -f tmp/index.xml ];then
60 #TODO: Check security keys
Pierre-Hugues Husson3db36f72019-04-01 23:14:30 +020061 wget --connect-timeout=10 $repo/index.jar -O tmp/index.jar
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010062 unzip -p tmp/index.jar index.xml > tmp/index.xml
63 fi
Pierre-Hugues Husson33295452018-06-04 21:19:47 +020064 marketvercode="$(xmlstarlet sel -t -m '//application[id="'"$1"'"]' -v ./marketvercode tmp/index.xml || true)"
65 apk="$(xmlstarlet sel -t -m '//application[id="'"$1"'"]/package[versioncode="'"$marketvercode"'"]' -v ./apkname tmp/index.xml || xmlstarlet sel -t -m '//application[id="'"$1"'"]/package[1]' -v ./apkname tmp/index.xml)"
paledega6303e2a2020-03-02 09:39:50 +030066 if [ ! -f bin/$apk ];then
67 while ! wget --connect-timeout=10 $repo/$apk -O bin/$apk;do sleep 1;done
68 fi
Pierre-Hugues Husson5250fdd2017-12-04 22:18:22 +010069 addCopy $apk $1 "$2"
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010070}
Jon West9fd0d662021-04-01 16:07:30 -040071echo -e "${YELLOW}# grabbing F-Droid Apps${NC}"
Jon West311f0ca2021-04-01 15:42:33 -040072# Terminal Emulator
73downloadFromFdroid com.termoneplus
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010074#Navigation
75downloadFromFdroid net.osmand.plus
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010076#Calendar
Pierre-Hugues Husson5250fdd2017-12-04 22:18:22 +010077downloadFromFdroid ws.xsoh.etar Calendar
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +010078#Pdf viewer
Pierre-Hugues Husson02f4dcb2018-06-04 21:19:03 +020079downloadFromFdroid com.artifex.mupdf.viewer.app
Unknown2974a752020-11-07 20:18:09 -050080# Aurora App Store
Pierre-Hugues Husson06683c22020-03-31 23:16:24 +020081downloadFromFdroid com.aurora.store
Jon West71f82392021-04-01 15:30:23 -040082# F-Droid App Store
83downloadFromFdroid org.fdroid.fdroid
Pierre-Hugues Hussonb7a5f4a2017-12-04 17:07:27 +010084#Mail client
Pierre-Hugues Husson5250fdd2017-12-04 22:18:22 +010085downloadFromFdroid com.fsck.k9 "Email"
Pierre-Hugues Hussone46e3702018-06-04 21:19:57 +020086#Calendar/Contacts sync
Pierre-Hugues Husson06683c22020-03-31 23:16:24 +020087downloadFromFdroid com.etesync.syncadapter
Pierre-Hugues Husson06683c22020-03-31 23:16:24 +020088# Todo lists
89downloadFromFdroid org.tasks
Unknown2974a752020-11-07 20:18:09 -050090#Fake assistant that research on duckduckgo
91downloadFromFdroid co.pxhouse.sas
92# Gallery App
93downloadFromFdroid com.simplemobiletools.gallery.pro "Photos Gallery Gallery2"
94# Aurora Fdroid
95downloadFromFdroid com.aurora.adroid
q0kHaN77f09432019-11-11 12:36:35 +000096#Phonograph
97downloadFromFdroid com.kabouzeid.gramophone "Eleven"
kisekinopureya6a3d0362020-01-19 21:35:08 +030098#Alarmio
99downloadFromFdroid me.jfenn.alarmio "GoogleClock DeskClock"
kisekinopureya13634d72019-12-12 01:23:53 +0300100#Mozilla Nlp
kisekinopureyae47d0882020-01-19 21:44:48 +0300101downloadFromFdroid org.microg.nlp.backend.ichnaea
kisekinopureyabb4217d2019-12-10 20:47:31 +0300102#Nominatim Nlp
103downloadFromFdroid org.microg.nlp.backend.nominatim
Jon Westbc3240a2021-04-01 15:30:41 -0400104# Midori Browser
105downloadFromFdroid org.midorinext.android
Jon Westddb6a382021-04-01 15:43:49 -0400106# EtchDroid USB Writer
107downloadFromFdroid eu.depau.etchdroid
Pierre-Hugues Hussonb7a5f4a2017-12-04 17:07:27 +0100108
kisekinopureyabb4217d2019-12-10 20:47:31 +0300109#Web browser
Unknown2974a752020-11-07 20:18:09 -0500110#~ downloadFromFdroid org.mozilla.fennec_fdroid "Browser2 QuickSearchBox"
111#Public transportation
112#~ downloadFromFdroid de.grobox.liberario
113#Ciphered Instant Messaging
114#downloadFromFdroid im.vector.alpha
115#Nextcloud client
116#~ downloadFromFdroid com.nextcloud.client
117# Social Media Apps
Unknowna0b877c2020-11-07 19:48:33 -0500118#~ downloadFromFdroid org.mariotaku.twidere
119#~ downloadFromFdroid com.pitchedapps.frost
120#~ downloadFromFdroid com.keylesspalace.tusky
paledega6303e2a2020-03-02 09:39:50 +0300121
Jon West9fd0d662021-04-01 16:07:30 -0400122echo -e "${YELLOW}# grabbing MicroG Apps${NC}"
Pierre-Hugues Hussone1b56f52020-11-03 18:15:49 +0100123repo=https://microg.org/fdroid/repo/
124downloadFromFdroid com.google.android.gms
125downloadFromFdroid com.google.android.gsf
126downloadFromFdroid com.android.vending
127downloadFromFdroid org.microg.gms.droidguard
Jon West9fd0d662021-04-01 16:07:30 -0400128downloadFromFdroid org.microg.unifiednlp
Pierre-Hugues Hussone1b56f52020-11-03 18:15:49 +0100129
Jon West9fd0d662021-04-01 16:07:30 -0400130echo -e "${YELLOW}# grabbing NanoLX Apps${NC}"
Unknown2974a752020-11-07 20:18:09 -0500131repo=https://nanolx.org/fdroid/repo/
132downloadFromFdroid is.xyz.mpv
133
Jon West9fd0d662021-04-01 16:07:30 -0400134echo -e "${LT_BLUE}# finishing up apps.mk${NC}"
Pierre-Hugues Hussonc1f73e82017-12-04 16:43:14 +0100135echo >> apps.mk
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +0100136
Jon West9fd0d662021-04-01 16:07:30 -0400137echo -e "${YELLOW}# Cleaning up${NC}"
Pierre-Hugues Hussonbcc5b642017-12-04 16:27:25 +0100138rm -Rf tmp
Jon West9fd0d662021-04-01 16:07:30 -0400139
140echo -e "${GREEN}# DONE${NC}"