Affichage des articles dont le libellé est adb lock. Afficher tous les articles
Affichage des articles dont le libellé est adb lock. Afficher tous les articles

2013-11-26

ADB Lock for KitKat (Android 4.4) [fr / en]


* English Version Below *

  En attendant la publication de la V4, voici les améliorations apportées à l'actuelle V3 en mode normal (root) et système (non-root).

Nouvelle Icône

    On ne peut pas dire que les designers Android se cassent beaucoup la tête pour concevoir les icônes de débogage.  Quatre barres verticales, rappel géométrique des quatre barres de chocolat dans une confiserie KitKat.

Corrections (non sécuritaires):

  • En mode non-root, la surveillance de l'écran lançait inutilement une détection de root.
  • En mode non-root, les appels ne sont plus faits à Settings.Secure mais à Settings.Global.
  • Le hack BillingHack du PlayStore est corrigé. Pour rappel, être sponsor n'active *AUCUNE* fonctionnalité supplémentaire dans l'application.

Compatibilité Dalvik ET ART

ADB-Lock est toujours compatible avec l'actuelle machine virtuelle Dalvik (celle que vous avez actuellement) et est aussi compatible avec la nouvelle : ART (que vous aurez très prochainement).

Attention, les outils SuperUser ne sont pas tous compatibles avec ART, je vous suggère très fortement de passer ADB Lock en mode Système (cf mon précédent billet)!

Mode Système (non-root) : contourner les nouvelles restrictions.

Android 4.4 a de nouvelles sécurités, l'une d'elle enlève systématiquement l'autorisation WRITE_SECURE_SETTINGS aux applications normales et même celles de /system/. Cette sécurité se contourne avec mon zip pour le recovery :




Je ne vous donne pas dans ce billet comment contourner la protection, mais vous laisse trouver par vous-même.

Si vous avez urgemment besoin de la solution, elle est dans le zip :-)



    Until ADB Lock V4 release, I publish an improved V3 on both mode : normal (root) and system (non-root).

New Icon

    I'm not sure Android's designers spend enough time designing ADB notifications icons. This time, they released a four vertical bars supposed to reminds us a KitKat tablet with the four bars candy.

Improvements (not insecure):

  • In non-root mode, screen monitoring switch required unnecessarily root privilege.
  • In non-root mode, too, ADB Lock will no longer calls Settings.Secure instead of Settings.Global.
  • Last, and least, PlayStore Hack BillingHack will not works on ADB Lock. As a reminder, becoming a sponsor *WILL NOT* unlock hidden features. It's only sponsoring.

ART and Dalvik compatibility

ADB-Lock remains fully compatible with the actual runtume (aka Dalvik) and is now compatible with ART (the next runtime).

A lot of SuperUser tools are not compatible with ART, I strongly suggest you to switch in System Mode (see my last post)!

System mode (non-root) : bypass brand new restrictions.

Android 4.4 brings new security enhancement, one of them revoke systematically WRITE_SECURE_SETTINGS permissions to both /data/app AND /system/app. This mechanism is really easy to defeat with my recovery zip :




I will not give you in this post how I bypass the protection, you have to find it by youself.

But if you really need the answer, it's inside the zip, in plaintext :-)

2013-10-02

ADB Lock non-root mode [fr / en]

English version below…

Android réserve ses fonctions les plus sensibles aux applications "système". C'est par exemple le cas de "Paramètres", l'application système que vous utilisez le plus souvent, qui est autorisée à activer ou désactiver ADB sans recourir au root.

Une application Système est une application classique : elle est au format APK, elle doit déclarer ses permissions. LA différence est qu'elle est placée dans /system/ (un dossier spécial et protégé) au lieu de /data/app comme toutes les autres apps.

L'app ADB-Lock est capable de détecter toute seule si elle est Système et dans ce cas cesse d'utiliser le mécanisme ROOT pour permuter l'état de l'ADB.

Il y a au moins 4 manières de passer ADB-Lock en mode Système : avec une app, avec le shell adb, avec un script  ou avec un zip (recovery ou TWRP). Bref vous avez l'embarras du choix.

2013-09-19

ADB Lock v3 ! [en / fr]

[English version below]
-----

Le développement d'ADB Lock se fait sur mon temps libre et la priorité est donnée aux apps qui font rentrer la monnaie. ADB Lock est "financée" par le don, qui à ma grande surprise, fonctionne plutôt bien selon mes critères.

La précédente version, d'octobre 2012, toujours compatible avec Android 4.3, méritait quelques modifications :
  • Android 2.3 et inférieurs (plus suivis par Google) resteront sur la version 1. Le maintien des layout et une partie du code ne se justifie plus.
  • Suppression de la permission Internet et du mécanisme (jamais activé) de publicité via AdMob.
  • Abandon de la bibliothèque RootTools et réecriture des commandes pour ne plus dépendre de busybox.
  • Support des tablettes 10" et 7" (grâce à GenyMotion).
  • Quelques modifications cosmétiques comme l’icône du launcher, suppression des paradigmes d'ordinateurs tels que la fermeture des fenêtres par un click sur une croix et une meilleure harmonie visuelle (padding/margin).
  • La barre du haut initialement occupée par l’icône de l'app, est remplacée par une (fausse et c'est pas bien !) ActionBar qui pointe vers mes profils Twitter, Google+ et ce blog. 
Si vous ne l'utilisez pas encore, installez le SuperUser de koush, qui offre de biens meilleures performances, plus d'options et une plus grande fiabilité que le SuperUser de ChainsDD ou SuperSU de chainfire.

Notez que si vous utilisez Superuser de ChainsDD, il est possible, qu' en arrière plan, ADB Lock ne puisse éteindre adbd car SuperUser demande une confirmation alors que l'écran est éteint.

---

I used to code "ADB Lock" on my spare time, and I must confess the money I do with, is a criterium to prioritize my apps's developpement. Surprisingly, the donation model of this app runs better than I though when I chose this monetization.

The last holo version of ADB-Lock, published a year ago, is still fully compatible with brand new Android 4.3 security models, but it needs a lot of improvements.
  • Android 2.3 and below (not maintained by Google) terminals stay with ADB Lock v1.
    ADB Lock v3 will aims Android 4 and above.
  • The Internet permission is definitively removed. AdMob (never activated) is also removed.
  • RootTools and busybox are no longer needed. They are removed too.
  • Android 10" and 7" are supported. Thanks to GenyMotion !
  • some cosmetic changes concerning launcher icon, computer paradigms (like corner cross to quit) and more efficient visual repartition of widgets (mainly margin & padding stuff)
  • 3 social network icons : Twitter / Google Plus / Blogger to see on what I'm working on. In French.
I can't enough recomand you to use koush's SuperUser instead of chainsDD's SuperUser or chainfire's SuperSU. Koush's has better performances, better options and higher reliability.

For example, ChainsDD's sometimes forgets it has previously (and permanently) allowed ADB Lock and blocks adbd stop mechanism, waiting for another allowance while screen is… off.

2013-07-24

MasterKey : du cache-cache au root.

C'est à l'équipe de sécurité BlueBox que l'on doit la paternité du bug MasterKey. Avant que la présentation officielle de la faille à la BlackHat 2013 ne soit faite, les détails donnés ont suffit à d'autres chercheurs chevronnés pour la trouver par leurs propres moyens.

Si dans un premier le temps le buzz était alimenté par les "99%", il est ensuite un peu retombé car la faille ne semblait destinée qu'au cache-cache. Saurik a dévoilé il y a quelques jours comment chainer MasterKey aux outils de développement d'Android pour cette fois-ci passer root. Du coup, doit-on avoir peur de cette faille ?

Si vous avez du contenu professionnel sensible sur votre smartphone, il est temps de l'effacer. Si vous avez encore des smartphones sous scellés, il est temps de dumper les bases sqlite !

2012-10-08

stat_sys_adb en SVG


Pour le nouveau logo de adb_lock j'ai eu besoin d'utiliser les images utilisée par Android lorsque le téléphone est en mode débogage.

Si vous travaillez avec Inkscape voici un pense-bête pour les effets chez carnivora-publishing. Si vous utilisez Inkscape pour MountainLion et que libxml2 vous fait des misères, voyez chez lrem.net.

Le SVG est fait main, il n'est donc pas exactement identique à l'icône Android :

SVG file :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   sodipodi:docname="logo-debug.svg"
   inkscape:version="0.48.2 r9819"
   version="1.1"
   id="svg2"
   height="744.09448"
   width="1052.3622"
   inkscape:export-xdpi="71.966667"
   inkscape:export-ydpi="71.966667">
  <title
     id="title36756">stat_sys_adb SVG</title>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.16136213"
     inkscape:cx="-1335.2764"
     inkscape:cy="-427.65272"
     inkscape:document-units="px"
     showgrid="false"
     showguides="true"
     inkscape:guide-bbox="true"
     inkscape:window-width="1440"
     inkscape:window-height="821"
     inkscape:window-x="194"
     inkscape:window-y="15"
     inkscape:window-maximized="0"
     inkscape:current-layer="layer4" />
  <defs
     id="defs4" />
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title>stat_sys_adb SVG</dc:title>
        <dc:date>2012-10-07</dc:date>
        <dc:creator>
          <cc:Agent>
            <dc:title>CeKaGe</dc:title>
          </cc:Agent>
        </dc:creator>
        <dc:rights>
          <cc:Agent>
            <dc:title>http://sam.zoy.org/wtfpl/COPYINGs</dc:title>
          </cc:Agent>
        </dc:rights>
        <dc:publisher>
          <cc:Agent>
            <dc:title>CeKaGe</dc:title>
          </cc:Agent>
        </dc:publisher>
        <dc:language>fr_FR</dc:language>
        <dc:description>Entirely based on Android SDK icon stat_sys_adb.png</dc:description>
        <cc:license
           rdf:resource="http://sam.zoy.org/wtfpl/COPYING" />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="ronds"
     id="layer4"
     inkscape:groupmode="layer"
     transform="translate(0,-308.2677)">
    <path
       inkscape:connector-curvature="0"
       id="stat_sys_adb_ICS"
       d="m 129.8507,642.21771 c -1.56864,0.0448 -3.2899,0.50893 -5.2016,1.42102 -9.03946,8.14097 5.74203,15.8443 8.88078,28.31903 -4.65862,7.40003 -39.088256,21.29558 -41.003826,68.41228 l 187.714306,-0.12688 c -3.76065,-34.15455 -14.14904,-49.52154 -40.52173,-68.00627 2.70742,-13.78943 14.50986,-14.54933 8.17032,-28.87729 -14.79482,-5.29954 -15.44999,10.49324 -23.01391,20.12275 l -76.60307,0.81202 c -5.88875,-10.99361 -9.9506,-22.3189 -18.42127,-22.07666 z m 16.97498,46.53862 c 6.60523,0 11.95099,5.11722 11.95099,11.44434 0,6.32711 -5.34576,11.46971 -11.95099,11.46971 -6.60525,0 -11.97637,-5.1426 -11.97637,-11.46971 0,-6.32712 5.37112,-11.44434 11.97637,-11.44434 z m 47.42336,0.76126 c 6.30715,0 11.41815,4.93475 11.41815,11.03833 0,6.10359 -5.111,11.06371 -11.41815,11.06371 -6.30716,0 -11.41815,-4.96012 -11.41815,-11.06371 0,-6.10358 5.11099,-11.03833 11.41815,-11.03833 z M 50.278914,749.80972 c -9.76592,0 -17.63469,7.86933 -17.63469,17.63595 l 0,96.70596 c 0,9.76659 7.86877,17.6105 17.63469,17.6105 l 9.08377,0 c 9.76592,8e-5 17.60932,-7.84391 17.60932,-17.6105 l 0,-96.70596 c 0,-9.76662 -7.8434,-17.63595 -17.60932,-17.63595 l -9.08377,0 z m 262.820336,0 c -9.76592,0 -17.63469,7.86933 -17.63469,17.63595 l 0,96.70596 c 0,9.76659 7.86877,17.6105 17.63469,17.6105 l 9.05839,0 c 9.76592,8e-5 17.63469,-7.84391 17.63469,-17.6105 l 0,-96.70596 c 0,-9.76662 -7.86877,-17.63595 -17.63469,-17.63595 l -9.05839,0 z m -187.51133,4.28845 c -18.64403,0 -33.645456,14.05482 -33.645456,31.51634 l 0,173.08606 c 0,17.46181 15.001426,31.51625 33.645456,31.51645 l 92.41086,0 c 0.0114,-9.51019 2.16996,-16.34988 2.23288,-25.85768 0.72073,-8.80054 7.65517,-17.57534 16.46751,-17.40758 5.16247,0.0138 11.91344,-1.59877 17.07647,-1.59861 0.0115,-8.97699 -1.55644,-15.81684 -1.49705,-24.79188 0.72073,-8.80054 7.65517,-17.601 16.46751,-17.43291 2.63471,0.008 5.71079,-0.17597 9.08376,-0.45684 l 0,-117.05701 c 0,-17.46152 -15.00144,-31.51634 -33.64546,-31.51634 l -118.59648,0 z m 2.10602,14.41327 69.52382,0 c 10.92892,0 19.89022,12.28426 19.71533,27.53239 l -1.0657,93.15335 c -32.68796,-0.87381 -31.83327,22.79221 -29.05283,42.07254 -23.12641,0.0674 -34.62109,8.71097 -34.33056,42.90997 l -27.4543,0.53284 c -10.92687,0.21259 -17.05109,-12.25794 -17.05109,-27.50701 l 0,-151.16169 c 0,-15.24914 8.7864,-27.53239 19.71533,-27.53239 z m 58.10567,33.82551 0,15.68204 15.96003,0 0,-15.68204 -15.96003,0 z m -62.36845,0.0253 0,15.68205 15.7063,0 0,-15.68205 -15.7063,0 z m 31.28572,31.33872 0,15.93582 15.85854,0 0,-15.93582 -15.85854,0 z m 31.2096,31.23719 0,15.68204 15.83316,0 0,-15.68204 -15.83316,0 z m -62.67293,0.0503 0,15.68205 15.70629,0 0,-15.68205 -15.70629,0 z m 31.36184,31.36409 0,15.52979 15.73167,0 0,-15.52979 -15.73167,0 z m -31.26035,31.33875 0,15.75813 15.78242,0 0,-15.75813 -15.78242,0 z"
       style="color:#000000;fill:#33b5e5;fill-opacity:1;stroke:#33b5e5;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
       inkscape:label="#path5309"
       inkscape:export-xdpi="72"
       inkscape:export-ydpi="72" />
    <path
       style="fill:#33b5e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
       d="m 926.06018,714.17829 c -27.22353,-12.00453 -30.55244,42.51128 -35.0691,41.25189 -34.67205,-9.66763 -80.71112,-7.81977 -122.07702,0.004 -22.48447,4.25265 -58.38589,14.8761 -78.22496,24.33748 -12.49865,-4.28099 -28.95334,-49.73487 -48.87993,-33.00071 -11.57241,15.98748 24.68234,50.79657 18.2805,60.47016 -25.23911,38.13797 -41.05442,21.97111 -42.4231,98.3444 -0.91334,50.967 32.22027,108.49709 134.71262,86.42742 19.67802,-4.23735 35.50576,-9.52521 56.73124,-9.60298 39.57385,-0.14536 96.83676,7.89129 121.02155,-5.93925 44.38563,-25.38236 59.22363,-62.1197 59.55063,-97.34376 0.5,-53.86529 -37.73872,-93.1189 -71.35197,-110.15389 17.36884,-34.1089 21.90616,-48.65518 7.72954,-54.79446 z m -61.41404,109.33792 c 8.51986,0 15.42657,6.38378 15.42657,14.23102 0,7.84725 -6.90671,14.19246 -15.42657,14.19246 -8.51987,0 -15.42659,-6.34521 -15.42659,-14.19246 0,-7.84724 6.90672,-14.23102 15.42659,-14.23102 z m -134.78976,8.94742 c 8.96828,0 16.23648,5.98373 16.23648,13.38256 0,7.39884 -7.2682,13.38256 -16.23648,13.38256 -8.96828,0 -16.23647,-5.98372 -16.23647,-13.38256 0,-7.39883 7.26819,-13.38256 16.23647,-13.38256 z"
       id="stat_sys_adb_JB"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cssccssscssccssssssssss"
       inkscape:label="#path4733"
       inkscape:export-xdpi="72"
       inkscape:export-ydpi="72" />
    <path
       sodipodi:nodetypes="cccccccccccccscccsssssssssssssssssscccccccccccccccccccccccccccccsssscccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
       inkscape:connector-curvature="0"
       id="stat_sys_adb_GB"
       d="m 451.07406,339.14504 c -0.86677,-0.019 -1.73909,0.2364 -2.48694,0.75793 l -2.65279,1.84748 c -1.99436,1.39066 -2.38174,4.23619 -0.8764,6.3951 l 21.19861,30.43591 c -28.23061,17.45288 -48.75443,48.92262 -48.55539,93.32118 l 208.45656,-0.30795 c 0.25588,-45.60482 -19.65614,-76.72416 -47.20527,-93.70008 l 20.74855,-29.74906 c 1.50534,-2.15891 1.11796,-5.00444 -0.8764,-6.3951 l -2.65279,-1.84748 c -1.99436,-1.39066 -4.81866,-0.78514 -6.324,1.37377 l -21.53021,30.90961 c -14.49958,-6.66462 -30.50231,-9.86084 -46.47107,-9.63998 -15.42556,0.21336 -30.85702,3.68714 -44.93147,10.27953 l -22.00393,-31.54916 c -0.94082,-1.34928 -2.39243,-2.10033 -3.83706,-2.1317 z m 26.52783,55.40048 12.60072,0 c 2.43131,0 4.40551,2.1289 4.40551,4.76084 l 0,25.53303 c 0,2.63194 -1.9742,4.73712 -4.40551,4.73712 l -12.60072,0 c -2.43131,0 -4.38179,-2.10518 -4.38179,-4.73712 l 0,-25.53303 c 0,-2.63194 1.95048,-4.76084 4.38179,-4.76084 z m 75.79379,0 12.60072,0 c 2.43131,0 4.40552,2.1289 4.40552,4.76084 l 0,25.53303 c 0,2.63194 -1.97421,4.73712 -4.40552,4.73712 l -12.60072,0 c -2.43131,0 -4.38179,-2.10518 -4.38179,-4.73712 l 0,-25.53303 c 0,-2.63194 1.95048,-4.76084 4.38179,-4.76084 z m -167.81215,86.92609 c -2.52629,-0.008 -5.01801,0.61809 -7.55573,0.5921 -4.81321,0.23374 -9.63241,0.22571 -14.4482,0.37897 -6.19591,0.10959 -11.13138,5.0778 -13.33493,10.54011 -1.92455,4.95092 -2.68818,10.66388 -0.92377,15.77458 1.15994,3.3294 4.16775,6.32984 7.91097,6.15825 4.53672,0 8.14094,-3.09709 11.96125,-5.06871 7.5555,-3.03979 16.32197,-0.42498 22.40654,4.57135 3.49424,1.85331 7.59204,-0.15273 10.01895,-2.84227 2.41131,-2.45276 3.82251,-5.82763 3.64758,-9.28474 -0.10179,-10.12188 -8.36468,-19.85441 -18.59313,-20.77227 -0.36244,-0.0303 -0.72868,-0.0462 -1.08953,-0.047 z m 286.23994,0 c -2.52621,-0.008 -5.01793,0.61809 -7.55566,0.5921 -4.81321,0.23374 -9.63248,0.22571 -14.44819,0.37897 -6.19591,0.10959 -11.1551,5.07788 -13.35865,10.54011 -1.92456,4.95092 -2.66454,10.66388 -0.90006,15.77458 1.15988,3.32947 4.16775,6.32977 7.91098,6.15825 4.53671,0 8.14094,-3.09701 11.96117,-5.06871 7.55558,-3.03971 16.29832,-0.42498 22.38289,4.57135 3.49425,1.85331 7.61569,-0.1528 10.04268,-2.84227 2.41131,-2.45284 3.82243,-5.82771 3.64758,-9.28474 -0.10179,-10.12196 -8.36468,-19.85441 -18.5932,-20.77227 -0.36245,-0.0303 -0.72861,-0.0462 -1.08954,-0.047 z m -254.14605,1.94221 0,21.17489 0,29.22798 -0.41989,100.61763 c -0.0493,11.72007 22.47195,34.13191 34.19209,34.16845 l 134.89135,0.41989 c 11.72022,0.0364 37.75447,-21.61002 37.94766,-33.32865 l 1.67959,-101.87732 0,-29.22798 0,-21.17489 -21.15116,0 -165.96475,0 z m -32.09389,48.53175 c -2.52629,-0.008 -5.01801,0.6181 -7.55573,0.5921 -4.81321,0.23375 -9.63241,0.22572 -14.4482,0.37897 -6.19591,0.1096 -11.13138,5.07781 -13.33493,10.54011 -1.92455,4.95093 -2.68818,10.66389 -0.92377,15.77459 1.15994,3.32939 4.16775,6.32977 7.91097,6.15817 4.53672,0 8.14094,-3.09701 11.96125,-5.06864 7.5555,-3.03978 16.32197,-0.42505 22.40654,4.5712 3.49424,1.85331 7.59204,-0.15272 10.01895,-2.84219 2.41131,-2.45269 3.82251,-5.82763 3.64758,-9.28474 -0.10179,-10.12188 -8.36468,-19.85433 -18.59313,-20.7722 -0.36244,-0.0303 -0.72868,-0.047 -1.08953,-0.047 z m 286.23994,0 c -2.52621,-0.008 -5.01793,0.6181 -7.55566,0.5921 -4.81321,0.23375 -9.63248,0.22572 -14.44819,0.37897 -6.19591,0.10952 -11.1551,5.07781 -13.35865,10.54011 -1.92456,4.95093 -2.66454,10.66389 -0.90006,15.77459 1.15988,3.32939 4.16775,6.32977 7.91098,6.15817 4.53671,0 8.14094,-3.09701 11.96117,-5.06864 7.55558,-3.03978 16.29832,-0.42505 22.38289,4.5712 3.49425,1.85331 7.61569,-0.15272 10.04268,-2.84219 2.41131,-2.45269 3.82243,-5.82763 3.64758,-9.28474 -0.10179,-10.12196 -8.36468,-19.85441 -18.5932,-20.7722 -0.36245,-0.0303 -0.72861,-0.047 -1.08954,-0.047 z m -286.23994,50.47382 c -2.52629,-0.008 -5.01801,0.61817 -7.55573,0.59217 -4.81321,0.23375 -9.63241,0.22572 -14.4482,0.37897 -6.19591,0.1096 -11.13138,5.07781 -13.33493,10.54012 -1.92455,4.95085 -2.68818,10.6638 -0.92377,15.7745 1.15994,3.32947 4.16775,6.35357 7.91097,6.18197 4.53672,0 8.14094,-3.12081 11.96125,-5.09236 7.5555,-3.03986 16.32197,-0.42505 22.40654,4.57128 3.49424,1.85331 7.59204,-0.15272 10.01895,-2.84227 2.41131,-2.45276 3.82251,-5.82763 3.64758,-9.28474 -0.10179,-10.12188 -8.36468,-19.85441 -18.59313,-20.7722 -0.36244,-0.0303 -0.72868,-0.047 -1.08953,-0.0478 z m 286.23994,0 c -2.52621,-0.008 -5.01793,0.61817 -7.55566,0.59217 -4.81321,0.23375 -9.63248,0.22572 -14.44819,0.37897 -6.19591,0.1096 -11.1551,5.07781 -13.35865,10.54012 -1.92456,4.95085 -2.66454,10.6638 -0.90006,15.7745 1.15988,3.32947 4.16775,6.35357 7.91098,6.18197 4.53671,0 8.14094,-3.12081 11.96117,-5.09236 7.55558,-3.03986 16.29832,-0.42505 22.38289,4.57128 3.49425,1.85331 7.61569,-0.15272 10.04268,-2.84227 2.41131,-2.45276 3.82243,-5.82763 3.64758,-9.28474 -0.10179,-10.12188 -8.36468,-19.85441 -18.5932,-20.7722 -0.36245,-0.0303 -0.72861,-0.047 -1.08954,-0.0478 z"
       style="opacity:0.91588780999999997;fill:#99cc00;fill-opacity:1;fill-rule:nonzero;stroke:#99cc00;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:50"
       inkscape:label="#rect4314"
       inkscape:export-xdpi="72"
       inkscape:export-ydpi="72" />
  </g>
</svg>

2012-09-13

Achat in-app : attention aux signatures

APK avec signature de test vs signature développeur. 

 Le plug-in ADT pour Eclipse simplifie considérablement le travail de signature d'une application. En effet ADT signe avec une clef de test votre APK pour une future installation sur un terminal (ou émulateur).

Si pratique qu'elle soit, la clef de test sera refusée par le PlayStore : chaque développeur doit créer sa propre clef pour une signature unique.

Dans ce monde manichéen nous avons donc des APK signés avec la clef développeur sur le PlayStore et des APK signées par ADT. Et lorsqu'on essaye de faire un achat in-app :


Erreur liée à l'application
Cette version de l'application n'est pas configurée pour la facturation via Google Play. Pour plus d'informations, veuillez consulter le centre d'aide.


Ne cherchez pas trop longtemps le centre d'aide. Cette erreur est causée par la signature de l'APK.

Comment automatiser la signature avec sa clef de développement ?

Utilisons encore la documentation Android sur la signature avec jarsigner :
$ jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my.keystore \
-storepass PA55W0RDST0RE -keypass PA55W0RDKEY my.apk myDevNickName

Il y a de très fortes chances que vous obteniez ce message :

jarsigner: unable to sign jar: java.util.zip.ZipException: invalid entry compressed size (expected 765 but got 771 bytes)

Ce message, comme son code erreur ne l'indique pas, est causé par la présence d'une signature dans l'APK : vous avez utilisé l'APK créée par ADT et stockée dans workspace/MyAndroidApp/bin/ qui est en fait signée avec la clef temporaire.

Pour supprimer la précédente signature, une simple commande zip (manpage):
zip my.apk -d "META-INF/*"

En un script : signandup.sh

#!/bin/sh
zip my.apk -d "META-INF/*"
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my.keystore \
-storepass PA55W0RDST0RE -keypass PA55W0RDKEY my.apk myDevNickName
adb install -r my.apk

2012-02-29

Logiciels Libres et Android





Je reviens sur une information récente de jean marc manach concernant Android. Le secteur de la téléphonie mobile entretient une artificielle différence avec le secteur de l'informatique grand public qui est suspecte et illégitime. Levée de bouclier si Orange ADSL ou google propose un mouchard sur la ligne ADSL et indifférence quasi générale du scandale Carrier IQ.

L'information du "tweet" (identi.ca en fait) est que la FSFE cherche à donner une nouvelle impulsion au mouvement libre sur Android. Le message est fédérateur, remplacer l'existant par un équivalent sans petites lignes liberticides, sans clause léonine.

2012-02-01

Transition vers Holo



Qu'est-ce que Holo ?

Holo est un thème Android inclus dans le kit de développement Android depuis la version 3.0 nommée HoneyComb (API 11). Il se décline en deux tons majeurs : Light/Bright à dominante blanche (comme les applications Google+, SMS, GMail) et Dark ) dominante noire et bleu électrique (comme les applications Music, Listen et l'écran des préférences).

On doit Holo a Matias Douarte  grand fan de Tron apparemment.

Obligations ? Non, Conseil !

Le billet du blog des dév de Google est sans équivoque : le thème Holo devient une brique de base pour la construction de votre interface pour la proposer sur le Market. Contrairement aux âneries lisibles à ce sujet, il n'est pas question d'adopter Holo mais d'adapter Holo.