Plongez dans l'écosystème open source Android

Avertissement que le jeûne ne nécessite pas de formes radicales de fanatisme

Chacun choisit son propre «niveau d'immersion». Vous n'êtes pas obligé de suivre tous les points de ce post. Mon objectif est de montrer à quel point l'écosystème est actuellement développé et ce que vous pouvez et ne pouvez pas en tirer. Tirez vous-même des conclusions. Si vous le souhaitez, changez complètement le firmware et passez en microg. Si vous le souhaitez, il vous suffit de mettre f-droid sur votre téléphone juste à côté de gplay. Voulez-vous - ne faites rien.


Parlons de l'écosystème des applications d'application open source gratuites sur Android. Essayons d'installer MicroG - une implémentation gratuite des services Google sur Android. Voyons comment et pourquoi vivre avec tout ça.


Quelques raisons pour lesquelles vous devriez y penser


Google joue loin "pas de gâteau"


Vous n'avez pas besoin d'aller loin, dans les articles voisins, vous pouvez trouver de nombreux exemples de la façon dont les développeurs sont expulsés de Google Play pour une raison ou une autre, les forçant à communiquer avec des robots sans possibilité de véritable appel. Certains types d'applications sont désormais fondamentalement impossibles à distribuer (par exemple, les bloqueurs de publicités et, en principe, les applications contournant toute restriction ).


En tant que paranoïaque, je n'aime pas le fait qu'un tiers ait un accès presque complet à mon appareil. Google est en mesure de supprimer au moins n'importe quelle application de mon téléphone à tout moment et d'en collecter des données arbitraires. De plus, le service google play est un énorme (livraison standard - 600 Mo, minimum - 95 Mo) la quantité de code constamment mis à jour, dont une partie fonctionne avec des privilèges système. A titre de comparaison, la distribution MicroG ne peut peser que 4 Mo.


Applications de faible qualité sur Google Play, prévalence de la publicité, de la télémétrie, des logiciels espions, vulnérabilités


Bien sûr, je n'avais pas une très bonne opinion de l'application moyenne pour Android, mais j'ai été sérieusement surpris par mon nouveau téléphone d'un fabricant chinois. Après l'achat, j'ai dû utiliser le firmware d'origine pendant trois jours en raison de restrictions de déverrouillage (le voici - une autre raison de ne pas faire confiance à mes appareils avec les entreprises). Honnêtement, je ne comprends pas pourquoi ils l'utilisent et pourquoi ils l'aiment. Je reçois constamment (plusieurs fois par heure) des notifications incompréhensibles (donner la permission, me mettre à jour, faire de la publicité). Quelque chose était constamment mis à jour. À un moment donné, le navigateur de stock a cessé de fonctionner.


Consommation d'énergie


Il provient de la thèse précédente. Si les applications ne téléchargent pas d'annonces, n'envoient pas de statistiques ou ne vous suivent pas, elles consomment moins d'énergie. Il en va de même pour les gapps: souvent, ils sont le principal consommateur d'électricité. Oui, Google a récemment travaillé sérieusement sur la consommation d'énergie. Cependant, tout d'abord, tout le monde n'a pas la possibilité d'utiliser la version actuelle d'Android. Deuxièmement, même dans ces conditions, le remplacement des gapps par une solution plus simple et minimaliste vous permettra de prolonger encore plus la durée de vie de la batterie.


Une seconde vie pour les appareils plus anciens sans beaucoup de RAM et / ou d'espace disque?


Aussi une suite logique des points précédents. Vous est-il déjà arrivé que sur l'appareil budgétaire après la prochaine mise à jour de Gapps, il ne reste plus d'espace pour les applications ou les données utilisateur? Même s'il y a encore suffisamment de ressources gratuites sur votre appareil pas si récent, vous débarrasser des gapps vous permettra de le rafraîchir.


Quelques écueils avec lesquels ne rien faire


  • Tous les logiciels n'ont pas d'analogues open source. Parfois, elles sont fondamentalement impossibles (les mêmes applications bancaires). Parfois, les habitudes sont trop difficiles à changer. Mon approche personnelle est d'essayer d'utiliser un analogue ouvert puis, si cela ne fonctionne pas, de passer à un analogique fermé.
  • Rien à voir avec le fait que vous ayez à "avoir les yeux rouges". Cependant, depuis mon premier post sur ce sujet, tout a changé pour le mieux.
  • Tout peut se casser et vous ne recevrez pas votre notification push avec un mot de passe unique pour effectuer une opération bancaire, ce que vous devez faire avec succès, mais maintenant (hélas, j'en avais un). Bien que, ces dernières années, les pushies ne se cassent qu'à cause de l'ILV.
  • Certains logiciels propriétaires peuvent ne pas fonctionner. Ou rompez avec une mise à jour au moment le plus inopportun. Par exemple, pendant très longtemps, j'ai utilisé Yandex.Taxi sur mon ancien téléphone sans aucun problème, mais lors de l'installation sur un nouveau, il s'est avéré que l'application se bloquait à la connexion.
  • Un fanatique radical de la FSF ne fonctionnera pas. Tout firmware open source contient même un grand nombre de blobs et de composants propriétaires. Rien à voir avec ça. Nous nous concentrerons donc sur le passage aux composants open source lorsque cela est possible.

Un peu de matériel


  • Que sont les gapps?

Services Google Play, gapps, Google Play . Ils comprennent à la fois les services de base nécessaires aux notifications push, la géolocalisation, la synchronisation de diverses données avec Google et le reste des logiciels utilisateur qui utilisent tout cela (par exemple, Gmail).



Un type de notifications qui fonctionne via un serveur tiers. Vous permet d'économiser considérablement la batterie, tk. l'appareil peut s'endormir complètement et se réveiller à de courts intervalles, ne vérifiant qu'une seule connexion réseau pour les nouveaux événements.


  • Déverrouillage du chargeur de démarrage?

Par défaut, les appareils Android sont livrés avec un chargeur de démarrage verrouillé. Habituellement, cette procédure est requise pour pouvoir installer tout autre micrologiciel. Le déverrouillage du chargeur de démarrage permet généralement non seulement de modifier les partitions système, mais également de désactiver la vérification de la signature du noyau au démarrage.


  • racine

Droits de superutilisateur. De même, par défaut, ils ne sont généralement pas là et vous devez les obtenir d'une manière ou d'une autre. Soit installer le firmware (il y a un addon-su pour lineageos), soit magisk. En règle générale, les instructions suggèrent d'installer SuperSU, qui est propriétaire et acheté par les Chinois (nous ne les écouterons pas et ne mettrons pas le magisk open source ). Dans les cas particulièrement graves, vous devez parfois utiliser des exploits (comme KingRoot).


  • récupération

Vous permet d'installer le firmware et leurs modifications sous forme d'archives zip. Il s'agit généralement de TWRP , également un projet open source.



En plus de fournir root, il dispose d'un module intégré pour masquer cette racine de certaines applications (utiles pour les clients bancaires) et d'un grand nombre de modules tiers. Dans le cadre de cet article, le module d'installation de Xposed nous sera le plus utile.



Si Magisk fournit des modules pour modifier le système de base, alors xposed fournit des modules pour modifier et patcher à la volée Android lui-même. Dans le cadre de ce billet, le module FakeGapps sera utile. Je recommande de l'installer via Magisk, et pour une version d'API spécifique (correspondant à votre version d'Android). Malheureusement, le support du firmware est généralement en retard sur une version d'Android.



Un répertoire open source pour Android. Vous pouvez utiliser à la fois le référentiel officiel et tiers.



Le produit phare parmi les micrologiciels open source. Ancien Cyanogenmod.


Sur quels appareils cela fonctionnera-t-il?


Classiquement, tous les appareils peuvent être répartis dans les classes suivantes (par ordre décroissant de commodité):


  • Appareils avec prise en charge officielle de lineageos . La présence d'un port officiel est généralement non seulement une garantie de fonctionnement plus ou moins normal, mais également la présence de nombreux autres firmware pour cet appareil. Naturellement, il est préférable de vérifier les informations (à la fois sur la disponibilité du firmware et sur les éventuelles surprises) sur w3bsit3-dns.com / xda avant l'achat. Malheureusement, vous n'y verrez généralement pas de nouveaux appareils.
  • Appareils avec des lignages non officiels / autres ports de firmware. Habituellement un peu pire, mais vous pouvez toujours vivre.
  • Appareils sans micrologiciel tiers, mais avec root. Il est plus difficile de se débarrasser des bloatwares et des gapps (cependant, avec NanoDroid, cela peut désormais se faire en mode automatique). Il n'y a aucune garantie que vous avez supprimé toutes les applications malveillantes du fabricant.

Lors du choix d'un appareil, vous devez également regarder:


  • Couvrant réellement le firmware. Une bonne communauté autour du téléphone donne généralement des garanties plus solides pour la mise à jour du firmware qu'un fabricant typique.
  • Certains fabricants restreignent la possibilité de déverrouiller le chargeur de démarrage.
    • Par exemple, xiaomi a un délai de plusieurs jours à plusieurs semaines entre la connexion du téléphone à votre compte et le premier déverrouillage.
    • Huawei a récemment, en principe, cessé d'émettre des codes de déverrouillage (il ne comprenait pas vraiment, au moins pour plusieurs appareils). Fu sur eux, mais pour quelques dollars, vous pouvez toujours acheter un code de déverrouillage sur le côté.

Microg


MicroG est une implémentation open source de gapps. Fournit le fonctionnement des notifications push, api de géolocalisation dans les applications l'utilisant. Liste des API prises en charge .


Pour le travail, la fonctionnalité d'une fausse signature dans le firmware est requise. Méthodes d'installation, correspondant approximativement à la gradation des appareils ci-dessus:


Vous pouvez installer LineageOS pour MicroG et obtenir presque tout ce qui figure sur la boîte. Le moyen le plus simple et le plus pratique de tous, je recommande de l'utiliser si votre appareil figure dans la liste des appareils pris en charge .


Vous pouvez installer MicroG manuellement sur tout micrologiciel qui n'est pas fourni avec des gapps (presque tous les micrologiciels non d'origine). Cependant, le micrologiciel nécessite la prise en charge de l'usurpation d'identité.


  • Voir les instructions . Dans une liste assez large de micrologiciels, cette fonctionnalité est prête à l'emploi, il vous suffit de mettre MicroG au sommet.
  • Le firmware restant devra être patché d'une manière ou d'une autre.
    • Le moyen le plus pratique est le module pour XPosed FakeGapps. Il ne nécessite pas de modification du système lui-même.
    • Méthodes de modification du système. Je ne le recommande pas, car Pour moi, cela a entraîné des problèmes de performances, mais je ne peux pas dire s'il s'agit d'une règle ou d'une exception. Doit être répété après chaque mise à jour.
      • Les méthodes de correction sur le téléphone lui-même (nanodroid-patcher) prennent beaucoup de temps (recompilation d'un fichier système plutôt gras), mais elles sont la deuxième plus pratique. Pour moi, cela a conduit à des problèmes de performances, je ne le recommande pas.
      • Méthodes de correction assistées par ordinateur. Encore moins pratique, mais en même temps rapide, car la reconstruction se produit sur le PC. Ils nécessitent de connecter le téléphone au PC.

Je n'avais pas l'intention de décrire les instructions complètes, mais l'expérience du post précédent montre ce qui va se passer.


Le processus d'installation dépend de la méthode. À propos de l'installation à l'aide de NanoDroid juste en dessous, la procédure manuelle est décrite ici:


  • Supprimez les éventuelles lacunes. Par exemple, en utilisant l'application / d / gapps
  • Installez l'apk requis lui-même. Depuis le référentiel microg ou NanoLx .
    • GmsCore.apk ("noyau MicroG Services" du référentiel). Sur Android 7 et supérieur, cette application doit être systématisée (en utilisant l'application ou le module de systématisation magisk ) si vous souhaitez utiliser des backends de recherche d'emplacement.
    • GmsProxy.apk ("proxy MicroG Services Framework" du référentiel)
    • L'une des implémentations PlayStore (obligatoire)
      • FakeStore Stub Application . Le talon dans les paramètres doit avoir accès aux fausses signatures. La dernière fois que j'ai eu des problèmes, vous pouvez créer adb shell pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE partir d'un PC ou tout simplement pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE partir du téléphone.
      • Re-signé par Google Play Store. Oui c'est possible! Mais une telle apk ne fournit que le référentiel NanoLX.
    • Backends d'emplacement, si nécessaire. Par exemple, MozillaNlpBackend. Permet au téléphone de déterminer rapidement sa position sans GPS.

Après l'installation et le redémarrage, vous devez entrer dans les paramètres du microg et parcourir la liste de contrôle, donner toutes les autorisations nécessaires. Sur Android 9, je devais composer *#*#2432546#*#* , sans cela, les notifications push n'étaient pas enregistrées. Vous pouvez tester le travail à l'aide du testeur de notifications Push.


NanoLX NanoDroid


Peut-être le moyen le plus simple et le plus pratique d'installer MicroG. En plus des fonctionnalités principales (désinstallation de gapps et installation de microg), il y a plusieurs fonctionnalités intéressantes:


  • Suppression des applications standard et leur remplacement par des homologues open source. C'est pratique lorsque vous possédez un téléphone MTK conditionnel avec un micrologiciel d'origine très encombré.
  • Installer Fdroid, YalpStore / AuroraStore avec les droits système
  • Installation possible de Google Play patché compatible avec microG.

Il suffit d'installer plusieurs des fichiers suivants :


  • NanoDroid: l'installateur principal. Installe tout.
  • NanoDroid-setupwizard: configuration graphique du programme d'installation principal. Vous permet de choisir quels composants seront installés et quelles actions seront effectuées. Il ne fonctionne que sur les appareils avec arm / arm64.
  • NanoDroid-BromiteWebView: remplace le système WebView par BromiteWebView avec un blocage d'annonces intégré.
  • NanoDroid-OsmAnd: installe OsmAnd +.
  • NanoDroid-microg: installe uniquement microG.
  • NanoDroid-fdroid: installe uniquement FDroid et une extension qui vous permet d'installer et de mettre à jour des applications en arrière-plan.
  • NanoDroid-patcher: inclut la prise en charge de l'usurpation d'identité (voir ci-dessus).
  • NanoDroid-uninstaller: désinstallez précédemment installé.

Installer des applications à partir de Google Play


Comme indiqué ci-dessus, il existe plusieurs façons de résoudre le problème.


  • Vous pouvez installer la version corrigée de Google Play d'origine et vivre comme d'habitude. Tout devrait fonctionner, y compris les micropaiements dans les applications.
  • Aurora Store . Une application merveilleuse, belle et rapide. Il peut faire beaucoup (du nécessaire de base - installation, mise à jour des applications gratuites). En version bêta, il a des problèmes de téléchargement via un compte anonyme (utilisez votre compte non anonyme ou contournez le Yalp Store , c'est presque la même chose, mais sans une belle interface et des exigences système encore plus modestes (Android 2+ est toujours pris en charge)
  • PlayMaker vous permet de déployer un référentiel f-droid avec les applications dont vous avez besoin de google play sur votre serveur. Les applications téléchargeables sont gérées via l'interface Web. Il a des limites évidentes, mais il est très pratique si vous installez rarement de nouvelles applications et n'avez besoin que d'un moyen pratique pour les mettre à jour.
  • Application et jeu W3bsit3-dns.com : application folle, cependant, offrant un accès rapide pour mettre à jour vos applications. Cela peut être utile en ce que sur w3bsit3-dns.com, ils publient généralement non seulement des versions originales, mais également des versions modifiées (par exemple, avec de la publicité à distance). Personnellement, je n'approuve pas, mais je sais qu'ils l'utilisent.
  • APKPur tiers miroir du service Google Play. Je n'ai pas été remarqué derrière le reconditionnement des applications (les signatures coïncident avec celles d'origine), mais rien ne garantit que cela continuera à l'avenir.

Très petit pack de démarrage d'applications open source de qualité


  • K-9 Mail est un client de messagerie.
  • Bromite est une fourchette de Chromium avec blocage des publicités intégré et plusieurs fonctionnalités pour améliorer la confidentialité. Malheureusement, leur dépôt fdroid est partiellement bloqué en Russie , ce qui ajoute un petit mal de tête.
  • DAVx⁵ - synchronisation des contacts et du calendrier avec votre serveur owncloud / nextcloud.
  • GadgetBridge - prise en charge des bracelets et montres intelligents. Et même le vibrateur intelligent Vibratissimo.
  • NewPipe est un client minimaliste pour YouTube. Capable de lire des vidéos en arrière-plan comme la musique, télécharger des fichiers.
  • KDE Connect - diverses possibilités pour intégrer un appareil Android avec un bureau sous KDE (et pas seulement!). Vous permet de synchroniser les notifications, d'afficher et de transférer des fichiers, ainsi que d'émuler le pavé tactile et le clavier.

Mise à jour: Un article vient de paraître avec un aperçu plus large des applications.


Au lieu de conclusions


Personnellement, la transition vers MicroG, F-Droid et AuroraStore m'a donné l'Android dont j'ai toujours rêvé. Avec des applications pratiques qui n'étaient pas bondées de publicité et de télémétrie, ce qui m'a permis de ne pas partager mes données avec Google, mais avec des notifications push fonctionnelles, elles m'ont permis d'arrêter de rêver d'inaccessible (changer le système d'exploitation mobile en Sailfish / téléphone ubuntu / etc, où il en serait de même pour un appareil à part entière vous devez utiliser une couche pour prendre en charge les applications Android) et commencer à vivre.


J'espère que cette instruction vous aidera à comprendre si vous en avez besoin en principe et à répéter avec succès ce résultat.

Source: https://habr.com/ru/post/fr440110/


All Articles