11
votes

Puis-je construire mon application Android comme débogage mais signer avec porte-clés de libération

J'essaie de tester la facturation intégrée dans mon application. J'ai la facturation et l'identifiant de produit Tout d'installation dans le magasin de jeu, mais pour tester une transaction, j'ai besoin de signer mon application avec mon keyStore de libération, sinon elle échoue.

J'utilise Intellij Idea (Ver. 11 CE) et je ne peux pas comprendre comment configurer le projet pour créer avec le jeu de débogage et signer avec mon keyStore de libération avant de vous déployer sur mon appareil.

Je vois que je peux définir une cible de fourmis pour une configuration et je suppose que c'est la voie à suivre, mais depuis mon build.xml importe l'Android SDK /Tools/ant/build.xml, il n'y a pas de cibles pour choisir.

Pour déboguer, est-ce que j'ai simplement besoin d'activer défini Android: Detubuggable = "vrai" dans le manifeste? Quiconque a une suggestion pour une cible de fourmis qui ferait les choses dont j'ai besoin? Celui que je peux ajouter à mon build.xml?


0 commentaires

6 Réponses :


0
votes

J'ai ceci dans build.xml pour définir l'attribut debuggable: xxx pré>

où build.env est transmis au programme de fourmis comme celui-ci (dans le cas de "version"): p> xxx pré>

Pour signer, vous ajoutez ceci aux fichiers de propriétés: P>

key.store=C:/path/to/keystore/mykeystore.keystore


0 commentaires

-1
votes

Essayez de définir le drapeau de débisibilité vers true dans votre manifeste Android.

 <application
        android:debuggable="true"


0 commentaires

2
votes

avec des pointeurs dans la bonne direction Formulaire ixx j'ai fini par définir Android: Detbuggable = "vrai" et en utilisant la commande ligne pour construire et déployer. Ensuite, attachez-vous au processus d'exécution pour déboguer.

Mon application est configurée pour créer à la ligne de commande avec un fichier Build.xml de fourmis qui importe AndroidSDK / Tools / Ant / Build.xml et un fichier de build.Properties.Properties. J'ai découvert que lorsque j'ai défini Android: Dettinguggable = "True" puis "Reloquez Ant" Le processus de construction créera un apk debuggable et le signera avec la clé de déverrouillage.

J'ai créé une cible dans mon fichier build.xml que je pourrais définir pour ce cas appelé Set-Dettinguggable xxx

puis dans mon -pre-build cible que j'ai ajouté xxx

ceci crée mon apk debuggable signé avec ma clé de version lorsque j'utilise "la libération de la création de fourmis". Ensuite, j'utilise 'adb install -r myApp-version.apk' pour réinstaller la nouvelle version. Je peux ensuite lancer et joindre à la demande en cours d'exécution pour le débogage via des achats intégrés.

Il apparaît comme si l'idée de Intellij et Eclipse utilisent une clé de débogage auto-signée quelque part sur votre système pour construire et déployer un débogage. apk de l'IDE.

Dans le recul, j'ai peut-être pu remplacer la clé de débogage que l'IDE créait avec ma clé de version et essayé d'obtenir la construction de la construction avec cette touche (et trouvez le mot de passe pour utiliser la clé) mais le Construire le processus ci-dessus m'a pris très peu de temps pour configurer et commencer à utiliser. Si quelqu'un va dans cette direction et qu'il y a de travail, veuillez ajouter un commentaire à ma réponse.


0 commentaires

1
votes

AS de Intellij Idea 12 (ne connais pas les versions précédentes), vous pouvez définir un "KeyStore de débogage personnalisé" dans la facette Android du module de niveau supérieur. De cette façon, vous pouvez contrôler comment votre APK est signé et utilise réellement vos clés de libération pour le débogage de l'IDE.


1 commentaires

J'ai essayé cela, mais comment puis-je définir le mot de passe associé au magasin de clés? Je reçois toujours java.io.ioException: KeyStore a été altéré ou mot de passe était incorrect



0
votes

Intellij utilise le fichier .Android / Debug.KeyStore par DEFULT pour la signature de la version debug de votre demande. Vous pouvez modifier ce fichier avec votre porte-clés de version ou importer votre certificat de publication vers le fichier debug.KeyStore. J'ai préparé des instructions étape par étape pour cela à http: //www.denizoguz. COM / 2013/01/12 / ÉCHEC-INSTALL_PARSE_FAILED_INCONSISTENT_FAILED_INCONSISTENT_CERTIFICES /


0 commentaires

0
votes

Étant donné que la pelle conseille maintenant de codage de "Android: Drapeau" Android: Drapeau "Android" dans AndroidManifest.xml, je suis venu avec une meilleure solution (au moins pour mon cas). Définissez simplement une nouvelle cible d'ant dans votre personnalisé_rules.xml qui fait tout exactement la même chose que la cible de débogage Android, mais signe l'APK avec une clé de libération également.

<target name="build-debug" depends="debug, -release-sign" />


0 commentaires