Affichage des articles dont le libellé est play store. Afficher tous les articles
Affichage des articles dont le libellé est play store. Afficher tous les articles

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.

2012-10-23

SMATAB 700 : installer le PlayStore

J'ai presque testé pour vous la tablette SMAT@B 700 proposée par Fiducial Office Solution, notre gentil fournituriste.

N'attendez rien d'extraordinaire pour la centaine d'euro (TTC), mais si vous souhaitez l'utiliser dans votre SI, soyez méfiants. Cette tablette est insécurisée et ne se sécurise pas.

Présentation

Ce qui ne va pas, matériellement : l'écran est salissant, la webcam est poussive, les touches physiques sont cheap, la prise USB mini-B.

Ce qui ne va pas logiciellement : pas de PlayStore, pas les Contacts Android, le launcher est peu réactif, ADB activé par défaut. Le fichier /etc/default.prop est a priori ignoré, la tablette ne peut être mise en mode "production builds".

Ce qui est susceptible de vous intéresser matériellement : un cable pour faire de l'USB-Host, une sortie hdmi, 2 modes de recharges.

Et vous intéresser  logiciellement : Android en mode débogage (= adb root), la partition /system/ montée

Activer le play store

Le PlayStore est actif mais masqué par défaut. Il existe 3 moyens d'y accéder
  1. En cherchant le mot "Play" dans la barre de recherche du launcher
  2. Par adb shell
    am start com.android.vending 
  3. Avec une application minimale

Activer les contacts

Le carnet d'adress est actif mais masqué par défaut. Il existe 3 moyens d'y accéder
  1. En cherchant le mot "Cont" dans la barre de recherche du launcher
  2. Par adb shell
    am start com.android.contacts
  3. Avec une application minimale

L'application minimale

package net.cekage.shortcut;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;

public class Shortcut extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  Intent intent = new Intent(Intent.ACTION_MAIN);
  intent.setComponent(new ComponentName("com.android.vending",
    "com.android.vending.AssetBrowserActivity"));
  startActivity(intent);
  finish();
 }
}

A acheter ou pas ?

C'est une tablette de niche, rien ne semble correctement fini :
  • hackable mais non évolutive.
  • Ouverte aux GApps mais celles-ci sont cachées. 
  • Interface tablette mais trop faible résolution, le texte est trop aliasé.
  • Autonome mais pas trop : la batterie s'épuise vite.
A mon humble avis, sa meilleure utilisation est un device d'appoint pour tester ses développements ailleurs que sur l'émulateur.

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