![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Cierre de Android en Rpi4NOTA: Para la configuración de un TCM, ver http://3.0.1.46:8000/HowTo/353Tuesday, 21 June 2022, 11:30:28 am Habilitar temporalmente settings en el cierre para poder llegar al volumen 1. En el tce, se escribe: adb connect 192.168.1.5 adb root adb shell pm unhide com.android.settings/.homepage.SettingsHomepageActivity adb shell pm enable com.android.settings/.homepage.SettingsHomepageActivity 2. Se baja el shade de notificaciones (gesto de arriba a abajo) y se amplía (se vuelve a hacer el gesto) para que salga el icono de la rueda dentada 3. Se da a la rueda dentada 4. Se da a "Sonido" y se comprueban los volúmenes 5. Una vez terminado, se vuelve a cerrar desde el tce: adb shell pm disable com.android.settings/.homepage.SettingsHomepageActivity adb shell pm hide com.android.settings/.homepage.SettingsHomepageActivity Friday, 9 July 2021, 9:14:43 am Se hace el cierre de manera diferente En vez de modificar el launcher se hace lo siguiente: 1. Se convierte la aplicación de TCEM en un launcher (HECHO) 2. Se deasactiva la aplicación de settings, el launcher y el reloj de dar a la hora de encima del "shade de notificaciones": adb root adb shell pm disable com.android.settings/.homepage.SettingsHomepageActivity adb shell pm hide com.android.settings/.homepage.SettingsHomepageActivity adb shell pm disable 'com.android.settings/.Settings\$ConfigureNotificationSettingsActivity' adb shell pm hide 'com.android.settings/.Settings\$ConfigureNotificationSettingsActivity' adb shell pm disable com.android.launcher3 adb shell pm suspend com.android.launcher3 adb shell pm hide com.android.launcher3 adb shell pm disable com.android.deskclock/.DeskClock adb shell pm hide com.android.deskclock/.DeskClock Si quisiéramos deshacer el cierre habría que hacer lo contrario: adb root adb shell pm enable com.android.settings/.homepage.SettingsHomepageActivity adb shell pm unhide com.android.settings/.homepage.SettingsHomepageActivity adb shell pm enable 'com.android.settings/.Settings\$ConfigureNotificationSettingsActivity' adb shell pm unhide 'com.android.settings/.Settings\$ConfigureNotificationSettingsActivity' adb shell pm enable com.android.launcher3 adb shell pm unsuspend com.android.launcher3 adb shell pm unhide com.android.launcher3 adb shell pm enable com.android.deskclock/.DeskClock adb shell pm unhide com.android.deskclock/.DeskClock 3. En el shade de notificaciones, los 6 quicksettings que hay que dejar son:
5. Quitar el soporte multiusuario En sdX2:/system/build.prop se añade la siguiente línea: fw.show_multiuserui=0. Wednesday, 28 April 2021, 10:11:29 am Sobre QuickStep-enabled launchers Resulta que Hay un solo Trebuchet en los fuentes del LineageOS 18.1, pero se puede compilar con o sin soprote de QuickStep. ¿Qué es QuickStep? Según deduzco de la página de QuickSwitch, en Android Pie hicieron que los recents (el botón de "recent/open apps") lo controlara el launcher, y a eso le llaman QuickStep. Entonces, un launcher QuickStep-enabled es aquel que en Android Pie visualiza los recents, y si no es QuickStep-enabled, en Android Pie dar al botón de "recents" no hará nada. El Trebuchet.apk que he compilado en la entrada anterior no tiene lo del QuickStep integrado, mientras que el TrebuchetQuickStep que había compilado "por defecto" al hacer la imagen "victara" sí que tenía lo del QuickStep y por lo tanto lo de los recents. TL;DR: Usar el Trebuchet.apk ya que deshabilitar los recents era una de las tareas que tenía que hacer para "cerrar" el android de la rpi. Wednesday, 28 April 2021, 9:40:10 am Compilo el antiguo trebuchet que sigue en los fuentes del LineageOS18.1 En uiharu, como dario: cd ~/android/lineage source build/envsetup.sh breakfast victara croot make -j32 Trebuchet ls -l out/target/product/victara/system/system_ext/priv-app/Trebuchet/Trebuchet.apk Friday, 9 April 2021, 9:05:57 am Preparo para compilar en uiharu Siguiendo las instrucciones para victara (me da un poco igual qué modelo mientras sea una build de 32 bits y no use una CPU de arquitectura más moderna que la Rpi4): En uiharu, como root: apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev apt-get install libwxgtk3.0-dev En uiharu, como usuario:
mkdir -p ~/bin
mkdir /src/lineage
cd android
ln -s /src/lineage .
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
unzip platform-tools-latest-linux.zip -d ~
rm platform-tools-latest-linux.zip
cat >> ~/.profile <<'EOF'
#https://wiki.lineageos.org/devices/titan/build
# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
EOF
source ~/.profile
git config --global user.email "dariorodriguez@sicosoft.es"
git config --global user.name "Dario Rodriguez"
mkdir -p ~/.ccache
mv ~/.ccache /src/
ln -s /src/.ccache ~
ccache -M 100G
Actualizo en uiharu Python a Python3.7 Ya que Debian 9 tiene python 3.5.3 y la utilidad repo de android requiere Python 3.6+. Uso este howto: En uiharu, como usuario dario: cd /src mkdir src.python37 cd src.python37 su apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl libbz2-dev exit wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz tar -xf Python-3.7.9.tar.xz cd Python-3.7.9 ./configure --enable-optimizations make -j 32 # Parar los tests, no los necesito hacer ^C su make altinstall cd /usr/bin rm python3 python3m ln -s ../local/bin/python3.7 python3 ln -s ../local/bin/python3.7m python3m Compilo el LineageOS 18.1 Usando la guía para "victara" y la de extraer los blobs (uso esta información para deshacer una imagen de partición de android y poder llegar a los vendor blobs) En uiharu, como usuario dario: cd ~/android/lineage repo init -u https://github.com/LineageOS/android.git -b lineage-18.1 repo sync source build/envsetup.sh breakfast victara cd .. mkdir lineageos-system_dump cd lineageos-system_dump # https://mirrorbits.lineageos.org/TIMESTAMP?mirrorlist wget https://mirror.cyberbits.eu/lineageos/recovery/victara/20210404/lineage-18.1-20210404-recovery-victara.img wget https://mirror.selfnet.de/lineageos/full/victara/20210404/lineage-18.1-20210404-nightly-victara-signed.zip git clone https://github.com/xiaolu/mkbootimg_tools ./mkbootimg_tools/mkboot lineage-18.1-20210404-recovery-victara.img unpacked mkdir unzipped cd unzipped/ unzip ../lineage-18.1-20210404-nightly-victara-signed.zip git clone https://github.com/LineageOS/scripts su apt-get install python3-protobuf sed -i "s:/usr/bin/python :/usr/bin/python3.5 :g" /usr/bin/lsb_release /usr/local/bin/python3.7 -m pip install --upgrade pip pip3.7 install six pip3.7 install protobuf exit python3.7 ./scripts/update-payload-extractor/extract.py system.new.dat.br --output_dir ./ # AVISO: el .dat.br es un fichero de actualización tipo chromeos, y da error -- los siguientes pasos de la guía me fallan por eso cd ~/android/lineage cd ./device/motorola/victara/ # Ejecutamos la script ~/android/lineageos/device/motorola/victara/extract-files.sh # redirigiendo la salida a un log, y generar con un touch esos # ficheros que han dado error en el log y volverla a ejecutar. # Con eso debería ser suficiente para poder compilar... ( ./extract-files.sh ~/android/lineage-system_dump/ 2>&1 ) | tee /tmp/extract.log for i in $(cat /tmp/extract.log | grep '\!\!' | cut -c 8- | cut -d ':' -f 1) ; do mkdir -p ~/android/lineage-system_dump/$i ; rmdir ~/android/lineage-system_dump/$i ; touch ~/android/lineage-system_dump/$i ;done ./extract-files.sh ~/android/lineage-system_dump/ cd ~/android/lineage source build/envsetup.sh breakfast victara croot brunch victara Con eso ya tenemos una imagen para victara (que no vamos a usar), pero, lo más importante, es que tenemos el Trebuchet: cd ~/android/lineage cp ./out/target/product/victara/system/system_ext/priv-app/TrebuchetQuickStep/TrebuchetQuickStep.apk /tmp Se puede instalar en la imagen de la rpi4 con: mount -t auto /dev/sde2 /media/floppy/ find /media/floppy/ -name "*Trebu*apk" rm /media/floppy/system/app/Trebuchet/Trebuchet.apk cp /media/floppy/system/system_ext/priv-app/TrebuchetQuickStep/TrebuchetQuickStep.apk TrebuchetQuickStep.apk.orig cp /tmp/TrebuchetQuickStep.apk /media/floppy/system/system_ext/priv-app/TrebuchetQuickStep/TrebuchetQuickStep.apk umount /media/floppy/ Descripción del proyectoCierre de la imagen Android de la Rpi4, que usa LineageOS 18.1 32-bit |