Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora-Fr aux 15èmes Rencontres Mondiales du Logiciel Libre

#1 03/12/2012 16:37:07

tos69400
Membre
Inscription : 12/01/2012
Messages : 26

Création de script Android

Bonjour,
Je souhaite me lancer dans la création de roms custom pour Android.
Une des première chose à faire est de pouvoir décompiler un fichier apk afin de modifier son contenu.
Je connais l'outil android-apktool en ligne de commande.

Ma question : comment créer un script afin de réaliser un clic droit sur le fichier apk et le décompiler ?
Idem dans le sens contraire => créer un script permettant de recompiler l'apk modifié ?

Merci de vos réponses.

Hors ligne

#2 03/12/2012 17:09:56

philippe_PMA
Membre
Inscription : 06/03/2006
Messages : 1 752

Re : Création de script Android

Heu ! Tu veux faire un script pour simuler des actions graphique ?!

Sinon, pour roms custom c'est plutôt sut XDA qu'il faut aller voir.


Gigabyte Z77-D3H+core i5 3550+8Go DDR3-12800 (1333MHz) / ASUS P5B+Quad core Q9550+CG ASUS X1950 PRO+8Go DDR2-5300 (667MHz).
Boitier Antec remote fusion black+ASUS P5Q-EM+core 2 duo 6600+Intel GMA X4500HD+2Go DDR2-5300 (667MHz).
ASUS EeePC 1005PE, CPU atom N450, 2Go SoDIMM DDR2-5300 (667MHz).

Hors ligne

#3 03/12/2012 17:33:51

tos69400
Membre
Inscription : 12/01/2012
Messages : 26

Re : Création de script Android

Eh je ne sais quoi répondre à ta question.
Mon but serait de créer un script pour nautilus (qui s'appelle désormais fichiers) qui permet de décompiler ou de compiler un apk via le clic-droit.
Les manips sont possibles en ligne de commande avec l'outil android-apktools que j'ai installé sur ma fedora.
Voici la liste des options dispo avec cet outil :

Apktool v1.5.0.5a056e3 - a tool for reengineering Android apk files
Copyright 2010 Ryszard Wiśniewski <brut.alll@gmail.com>
with smali v1.3.4-ibot8, and baksmali v1.3.4-ibot8
Updated by iBotPeaches <connor.tumbleson@gmail.com> 
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

Usage: apktool [-q|--quiet OR -v|--verbose] COMMAND [...]

COMMANDs are:

    d[ecode] [OPTS] <file.apk> [<dir>]
        Decode <file.apk> to <dir>.

        OPTS:

        -s, --no-src
            Do not decode sources.
        -r, --no-res
            Do not decode resources.
        -d, --debug
            Decode in debug mode. Check project page for more info.
        -f, --force
            Force delete destination directory.
        -t <tag>, --frame-tag <tag>
            Try to use framework files tagged by <tag>.
        --keep-broken-res
            Use if there was an error and some resources were dropped, e.g.:
            "Invalid config flags detected. Dropping resources", but you
            want to decode them anyway, even with errors. You will have to
            fix them manually before building.

    b[uild] [OPTS] [<app_path>] [<out_file>]
        Build an apk from already decoded application located in <app_path>.

        It will automatically detect, whether files was changed and perform
        needed steps only.

        If you omit <app_path> then current directory will be used.
        If you omit <out_file> then <app_path>/dist/<name_of_original.apk>
        will be used.

        OPTS:

        -f, --force-all
            Skip changes detection and build all files.
        -d, --debug
            Build in debug mode. Check project page for more info.

    if|install-framework <framework.apk> [<tag>]
        Install framework file to your system.

For additional info, see: https://github.com/iBotPeaches/brut.apktool
For smali/baksmali info, see: http://code.google.com/p/smali/

Hors ligne

#4 03/12/2012 19:07:47

philippe_PMA
Membre
Inscription : 06/03/2006
Messages : 1 752

Re : Création de script Android

Je ne vois pas trop pourquoi ça serait la première chose à faire (passer via nautilus) pour faire une roms custom.
Je dirais même que vu le boulot, ça serait plutôt du temps de perdu. Mais bon chacun fait comme il veux.


Gigabyte Z77-D3H+core i5 3550+8Go DDR3-12800 (1333MHz) / ASUS P5B+Quad core Q9550+CG ASUS X1950 PRO+8Go DDR2-5300 (667MHz).
Boitier Antec remote fusion black+ASUS P5Q-EM+core 2 duo 6600+Intel GMA X4500HD+2Go DDR2-5300 (667MHz).
ASUS EeePC 1005PE, CPU atom N450, 2Go SoDIMM DDR2-5300 (667MHz).

Hors ligne

#5 04/12/2012 09:06:29

madko
Contributeur Fedora et Linuxé depuis 1994
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 4 738
Site Web

Re : Création de script Android

Il suffit d'installer nautilus-actions, qui permet de définir dans le menu contextuel des actions. Une actions peut lancer un script avec des paramètres comme le nom du fichier sélectionné etc.


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 19 x86_64 sur Asus N550JV.208 et Fedora 19 x86_64 sur Samsung NP740u3e | Mainteneur du paquet Darktable et glances
OVH ADSL pour Internet, c'est plus libre que Free

Hors ligne

#6 04/12/2012 18:17:32

tos69400
Membre
Inscription : 12/01/2012
Messages : 26

Re : Création de script Android

Enfin une réponse constructive merci. Je test dès que possible.

Merci de l'info concernant Nautilus action, je ne connaissais pas et cela à l'air superbe.

Dernière modification par tos69400 (04/12/2012 23:54:44)

Hors ligne

#7 05/12/2012 11:13:24

philippe_PMA
Membre
Inscription : 06/03/2006
Messages : 1 752

Re : Création de script Android

tos69400 a écrit :

Enfin une réponse constructive merci.

Aller sur XDA.


Gigabyte Z77-D3H+core i5 3550+8Go DDR3-12800 (1333MHz) / ASUS P5B+Quad core Q9550+CG ASUS X1950 PRO+8Go DDR2-5300 (667MHz).
Boitier Antec remote fusion black+ASUS P5Q-EM+core 2 duo 6600+Intel GMA X4500HD+2Go DDR2-5300 (667MHz).
ASUS EeePC 1005PE, CPU atom N450, 2Go SoDIMM DDR2-5300 (667MHz).

Hors ligne

#8 05/12/2012 14:15:43

tos69400
Membre
Inscription : 12/01/2012
Messages : 26

Re : Création de script Android

Merci philippe de tes réponses. Ne prend pas mal ce que j'ai écris => il n'y avait rien d'agressif dans mes propos.
Concernant xda, oui je suis dessus.
Maintenant ma question concerne des outils propre à ma distribution. Il est donc normal que je pose mes questions içi.

J'ai installé nautilus-action et il a vraiment l'air superbe encore merci.
Reste à trouver comment le paramétrer afin de prendre des commandes du terminal (exemple : apktool -d "fichier-sélectionné")

Hors ligne

#9 05/12/2012 17:38:04

philippe_PMA
Membre
Inscription : 06/03/2006
Messages : 1 752

Re : Création de script Android

Y-a-pas-de-mal.


Gigabyte Z77-D3H+core i5 3550+8Go DDR3-12800 (1333MHz) / ASUS P5B+Quad core Q9550+CG ASUS X1950 PRO+8Go DDR2-5300 (667MHz).
Boitier Antec remote fusion black+ASUS P5Q-EM+core 2 duo 6600+Intel GMA X4500HD+2Go DDR2-5300 (667MHz).
ASUS EeePC 1005PE, CPU atom N450, 2Go SoDIMM DDR2-5300 (667MHz).

Hors ligne

#10 06/12/2012 09:51:50

madko
Contributeur Fedora et Linuxé depuis 1994
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 4 738
Site Web

Re : Création de script Android

Pour nautilus-actions le plus simple c'est de te faire un petit script (genre wrapper). C'est pas obligatoire mais plus simple si tu veux debuguer (suffit de rajouter des echo redirigés vers un fichier), car à la moindre erreur du script, nautilus-action ne remonte aucune info.

#!/bin/bash
apktool -d "$1"

puis tu lances nautilus-actions-config-tool, tu ajoutes une nouvelle action, tu lui donne un nom, tu coches "afficher l'élément dans le menu contextuel de la selection" vu que c'est sur une selection de fichier que tu veux travailler. Dans l'onglet Commande tu donne le chemin vers ton script, et en paramètre du met %f (t'as le bouton légende pour voir tout ce qui est dispo, ya le choix!). Je crois que c'est a peu près tout. Le %f sera remplacé par le chemin vers le fichier selectionné et sera passé en argument ($1) de ton script. Tu enregistres les modifs, et normalement dans nautilus, clique droit sur un fichier, dans Nautilus Actions tu as ton action perso qui lancera ton script. Si tu selectionnes X fichiers, ton script sera appelé X fois. C'est beau.

Dernière modification par madko (06/12/2012 09:56:48)


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 19 x86_64 sur Asus N550JV.208 et Fedora 19 x86_64 sur Samsung NP740u3e | Mainteneur du paquet Darktable et glances
OVH ADSL pour Internet, c'est plus libre que Free

Hors ligne

#11 06/12/2012 11:42:23

tos69400
Membre
Inscription : 12/01/2012
Messages : 26

Re : Création de script Android

Impeccable merci.
Je testerai dès retour à la maison.

Hors ligne

Pied de page des forums