💾 Archived View for blog.phie.fi › 176-AOSP-Apps.gmi captured on 2023-04-26 at 13:19:24. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

AOSP Apps

2018-03-15 22:11:02

by Phie

Une fois n'est pas coutume, un chouya d'informatique (pas de quoi en faire un site différent) Je viens de builder quelques applications d'android AOSP (plutôt Lineage en l'occurrence mais Lineage n'a pas apporté beaucoup de modifications) car mon téléphone ne les a pas dans son système d'origine Pour une compatibilité accrue, j'ai changé les noms de packages en com.spisoft.aosp.\* **Appli email**![](https://blog.phie.fi/wp-content/uploads/2018/03/Screenshot_20180315-214644-169x300.png) ![](https://blog.phie.fi/wp-content/uploads/2018/03/Screenshot_20180315-214639-169x300.png)Télécharger: [Email.apk](https://nextcloud.phoenamandre.fr/index.php/s/2CtJ4YGF45AmiBg)**Keyboard AOSP**![](https://blog.phie.fi/wp-content/uploads/2018/03/IMG_20180316_152637-300x225.png)Télécharger: [LatinIME-signed.apk](https://nextcloud.phoenamandre.fr/index.php/s/4xqfDsGidDfGzWC)**Instructions de build:**/!\\ Attention cela nécessite de télécharger tout Lineage (variante d'android) et de compiler l'ensemble. Il y a sans doute plus simple mais je retrace exactement les étapes que j'ai suivies. L'idée étant qu'initialement, je m'étais buildé une rom lineage OS : Ubuntu 16.04 AMD64 Les dépendances `sudo apt install git openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip repo`Là vous allez avoir besoin de place, beaucoup de place, dans le doute comptez 100go pour le sync et le build `cd where-ever-you-want-to-download-lineagerepo init -u git://github.com/LineageOS/android.git -b lineage-16.0repo sync`Devrait mettre du temps. Moment idéal pour ranger l'appartement, repeindre la cuisine, renverser le gouvernement. Ensuite `cd Lineage. build/envsetup.shbreakfast manta`On démarre le build `brunch manta`manta étant la référence d'un device lambda, attention une rom Lineage complète sera générée à la suite de ça. Rom dont on n'a pas besoin intégralement. Bonne nuit. C'est plus long que le démarrage de Windows 7. C'est fini ? Pas d'erreur ? Menteurs. Bien des machines ne supportent pas le build la première fois, souvent dû à un manque de ram. Googlez votre erreur. Fréquemment, un certain Jack fait des siennes Là, c'est bon ? **Email**Ok, donc on va re-builder l'appli mail comme promis, avec un nouveau nom de package `cd packages/apps/Email`Tout d'abord, on modifie les fichiers (remplacez votre-nouveau-package par votre nom de package) `find . -type f | xargs sed -i 's/com\.android\.emailcommon/com.android.emtailcommon/g' &&find . -type f | xargs sed -i 's/com\.android\.email/votre-nouveau-package/g' &&find . -type f | xargs sed -i 's/com\.android\.emtailcommon/com.android.emailcommon/g'`Navré, je suis une merde en regex donc j'ai été contraint de faire ça. La première et la dernière ligne sont pour éviter de modifier les com.android.emailcommon. C'est sale. Ça marche. C'est à mon image. Ensuite, on doit déplacer deux trois dossiers `cd src/com/android`Vous avez deux dossiers : Email et Email2 Ces deux dossiers devront être déplacés selon votre nom de package Exemple avec mon propre cas Package originel étant com.android.email Le nouveau étant com.spisoft.aosp.email Les dossiers src/com/android/email et src/com/android/email2 ont dû être déplacés dans src/com/spisoft/aosp ce qui donne src/com/spisoft/aosp/email et src/com/spisoft/aosp/email2 Pour finir, ouvrez Android.mk, trouvez les lignes commençant par LOCAL\_SRC\_FILES et ajoutez `LOCAL_SRC_FILES += $(call all-java-files-under, src/com/spisoft/aosp)`en remplaçant spisoft/aosp par vos propres dossiers Puis, dernière étape `mma`L'apk final sera dans `out/target/product/manta/system/app/Email`**Keyboard**In English now because la flemme de préparer la future version bilangue First change package name in manifest: `sed -i 's/package="com\.android/package="com.spisoft.aosp/g' java/AndroidManifest.xml`then fix manifest references `sed -i 's/="\./="com.android.inputmethod.latin./g' java/AndroidManifest.xmlsed -i 's/="LatinIME/="com.android.inputmethod.latin.LatinIME/g' java/AndroidManifest.xml`fix resources `find . -type f | xargs sed -i 's/apk\/res\/com\.android\.inputmethod\.latin/apk\/res\/com.spisoft.aosp.inputmethod.latin/g'`fix provider `find . -type f | xargs sed -i 's/>com\.android\.inputmethod\.dictionarypack\.aospcom.spisoft.aosp.inputmethod.dictionarypack.aosp