9
votes

Comment force Eclipse à mettre à jour l'APK sur mon appareil matériel avec chaque construction?

Si je change du code, enregistrez et exécutez, il exécute la dernière version du programme, pas ce que je viens d'enregistrer. La seule façon dont je peux faire la mise à jour est si je nettoie le projet, construisez le projet, puis exécutez le projet. Y a-t-il un moyen d'éviter cet édium?


16 commentaires

C'est bizarre. Eclipse met à jour le dossier APK Inside Bin de votre projet.


Dans le menu du projet, le "Build automatiquement" a été vérifié ??


J'ai essayé avec la construction automatique et éteinte, même problème.


Essayez de courir sans sauver. Il dira qu'il y a des fichiers modifiés et vous invitent à les sauver. Dites oui et continuer.


Merci pour la suggestion. J'ai peur que cela n'a pas aidé, non plus.


Pourriez-vous me dire ce que vous avez dans la définition suivante: Projet-> Propriétés-> Builder?


@Sudarnimalan: Je ne suis pas sûr que ce soit ce que vous demandez, mais: il y a du texte qui dit "Configurer les constructeurs de ce projet", et sous It It est une option unique "Java Builder", qui est sélectionné (cochée).


Pour le projet Android, il devrait y avoir, "Android Resource Manager", "Android Pre Compiler", "Java Builder", "Android Package Builder" dans cette commande, vous pouvez-il ajouter ceux-ci et essayer?


@Sudarnimalan: Je vous dois des excuses; J'ai ces quatre composants. Mon "projet" est divisé en 4 projets - "Core", "Core-Android", "Core-Bureau" et "Core-HTML". C'est un peu bizarre car je l'ai mis avec la configuration du projet Libgdx et je consultitais le projet «Core» lorsque j'ai répondu à votre question. Mon projet 'Core-Android' a tous quatre (dans cet ordre), et c'est celui qui a le problème dans ma question.


Pourriez-vous s'il vous plaît confirmer l'ordre de ces constructeurs, les modifications que vous aviez compensées dans la question également à l'intérieur du projet Android Droite?


Oui, cet ordre est ce que j'ai; Je ne suivez pas votre deuxième question?


Vous avez mentionné "si je change du code", c'est à l'intérieur du projet Android? pas dans un autre projet dit "noyau"


Ah, que est dans le noyau, oui. Pour être clair, si je modifie le noyau et retentissez mon projet Android, il ne met pas à jour sur mon appareil. C'est soudainement pas mystérieux pourquoi il ne mettait pas à jour - merci. Y a-t-il un moyen de le forcer à mettre à jour?


Quelque plus de choses pour aider à comprendre le problème davantage, pourriez-vous modifier Eclipse-> Window-> Préférences-> Android-> Build-> Build-> Building-> Construire une sortie sur "Verbose" et vérifiez lorsque vous effectuez des modifications dans "Core" et enregistrez-vous, vous devez observer "Démarrer Package incrémentiel Build: Vérification des changements de ressources. Sauter sur le compilateur post-poste. " Sortie de la console intérieure. Pour cela, vous devriez avoir ajouté "Projet de base" à "Projet Android" -> Propriétés-> Projet de construction Java-> Projet.


Laissez-nous Continuez cette discussion en chat


Sur Eclipse, allez à Window-Préférences-> Run / Debug -> Lancement, puis, sur Enregistrer les éditeurs sales requis avant de lancer: choisissez l'option d'invite,


5 Réponses :


3
votes

Naviguez vers Windows-> Préférences-> Android-> Construire . Assurez-vous que la case à cocher "Saut de l'emballage et de la dexing ..." n'est pas cochée.


1 commentaires

Pas de chance, toujours. Merci pour la suggestion.



3
votes

Le problème est dans votre éclipse, accédez à Propriétés du projet - Builder , il y a une seule case avec androidpackagebuilder qui est requis pour être vérifié vrai . Maintenant, chaque fois que vous changez de modifications dans votre projet qui se refléteront dans votre construction et que le compilateur ne dira jamais que "Application déjà déployée, pas besoin de réinstaller"

Ceci fonctionnera bien que vous n'avez pas sélectionné de construction automatiquement, car chaque fois que vous exécutez en cliquant sur l'icône Exécuter ou Ctrl + F11 qui construira d'abord le projet, puis de l'exécuter. Donc, l'exigence est juste de Activer le constructeur de paquets Android

Entrez la description de l'image ici


5 commentaires

Merci pour votre réponse. Veuillez lire les commentaires sous ma question, les choses sont plus compliquées que la réalisation et la nature de ma situation est plus évidente maintenant.


J'ai lu celles-ci, j'ai essayé ce qui précède avec un projet où il y a un total de 4 packages, j'ai changé dans la MainAlactivité puis exécutez le projet "sans permettre au constructeur de paquets Android" et il m'a dit que "Application déjà déployée, pas besoin de réinstaller" ... Ensuite, j'ai vérifié que..enabler l'APB La nouvelle APK mise à jour a été installée ...


Dis-moi comme si tu as permis à l'APB et tu ne prends toujours pas la nouvelle APK à chaque fois?


Merci pour votre réponse. Pour être clair, j'ai quatre projets distincts, pas des paquets (je ne suis pas sûr que c'est ce que vous voulez dire). J'ai tous les quatre éléments enregistrés dans ma liste de constructeurs, mais cela ne met toujours pas à jour mon appareil.


Vous voulez dire qu'il y a un projet principal Android et les 3 autres projets sont un projet de bibliothèque ajouté dans le projet principal.



4
votes

Veuillez suivre ces étapes ..

1. Project -> Build a été vérifié automatiquement ??

2. Veuillez suivre la suite de paramètres: Projet-> Propriétés-> Builder Comme ça?

Vérifiez ci-dessous l'image.

Entrez la description de l'image ici

Vérifiez également les paramètres ci-dessous.

Entrez la description de l'image ici

Vérifiez également ci-dessous l'image

Entrez la description de l'image ici

Si le problème continue, veuillez mettre à jour votre adt & sdk .

J'espère que cela fonctionne pour vous.


3 commentaires

Merci pour votre réponse. Veuillez lire les commentaires sous ma question, les choses sont plus compliquées que la réalisation et la nature de ma situation est plus évidente maintenant.


@shino Pouvez-vous s'il vous plaît télécharger votre projet-> Propriétés-> Générateur d'images?


@shino également Project-> Propriétés-> Java Construisez des images de chemin d'accès Java So plus d'idées où est votre problème.



4
votes

J'ai passé du temps à créer deux projets factices (un Android et une Java) et de jouer avec elle, et finalement proposer une solution de contournement qui n'est pas très souvent utilisée mais capable de résoudre vos besoins.

Premièrement, je vais vous expliquer votre question un peu plus (basée sur ma compréhension et ce que j'ai essayé) afin que d'autres personnes puissent avoir une compréhension plus claire sur ce qui est arrivé ici.

Selon la conversation dans les commentaires:

Pourriez-vous me dire ce que vous avez en suivant Cadre: Projet-> Propriétés-> Builder? - Sudar Nimalan

@sudarnimalan: Je ne suis pas sûr que c'est ce que vous demandez, mais: il y a du texte qui dit "Configurer les constructeurs de ce projet", et sous IT est une option unique, "Java Builder", qui est sélectionné (vérifié ). - Shino

Pour le projet Android, il devrait y avoir, "Android Resource Manager", "Android Pre Compiler", "Java Builder", "Android Package Builder" dans cette commande, vous pouvez-il ajouter ceux-ci et essayer? - Sudar Nimalan

@sudarnimalan: je vous dois des excuses; J'ai ces quatre composants. Mon "projet" est divisé en 4 projets - "Core", "Core-Android", "Core-Bureau" et "Core-HTML". C'est un peu bizarre car je l'ai mis avec la configuration du projet Libgdx et je consultitais le projet «Core» lorsque j'ai répondu à votre question. Mon projet 'Core-Android' a tous quatre (dans cet ordre), et c'est celui qui a le problème dans ma question. - Shino

Scénario:

Vous avez 4 projet:

  • Core: Un projet Java régulier (code Java PURE commun ici)
  • CORE-Android: Un projet d'application Android.
  • Core-Bureau: Non lié à la question tellement ignorée.
  • core-html: non liée à la question tellement ignorée.

    Le projet CORE-Android a une dépendance sur le projet de base, en ajoutant du noyau du chemin de construction de Core-Android (Propriétés -> Java Build Chemin -> Projets -> Ajouter ...) et la liste d'exportation (Propriétés -> Piste de construction Java -> Commande et exportation).

    problème (pas vraiment):

    Changer de code dans Core et enregistrez-le, exécutez Core-Android, Eclipse Installez le dernier APK compilé, pas le nouveau avec le changement.

    Raison:

    Le comportement attendu est le comportement attendu, la façon dont vous avez l'habitude de renvoyer le projet de base dans Core-Android crée uniquement un lien faible (ou quelque chose de type) entre Core et Core-Android, le script de construction automatique de Core-andorid Ne conscient-il aucune modification apportée au cœur. Vous devez nettoyer le projet (besoin uniquement de projet Clean Core-Android) de sorte que Eclipse puisse supprimer l'APK existant (sous le répertoire BIN) et ré-générer l'APK (avec les dernières modifications de code de Core).

    Voir les commentaires XAV ci-dessous, les outils de SDK Android devraient connaître les modifications apportées à partir du projet Java uni sous le chemin de construction du projet et ne comportent pas de comportement de cette fonctionnalité normalement pour le moment.

    Notez que si Core est un projet de bibliothèque Android, il n'ya aucun problème et votre projet Core-Android aura connaissance des modifications du projet Core (code Java, de la ressource Android et etc.), si le noyau n'est utilisé que dans Core-Android. Cela pourrait également être une solution de contournement: Tournez Java Project Core dans Projet de bibliothèque Android.

    Solution de contournement (Source de liaison Eclipse):

    Il y a un autre moyen (pas couramment utilisé) pour ajouter une liaison molle entre les projets:

    1. Tout d'abord, vous devez supprimer le projet Core de Core-Android de Core-Android, cela le supprimera également de la liste d'exportation et de commande.
    2. Cliquez avec le bouton droit sur CORE-Android, choisissez Path Cuild Chemin -> Link Source ... Ajouter ../core/src En tant que site de dossier lié et SRC-lib1 comme nom de dossier, voir l'écran de l'écran à la fin.

      Ceci crée un lien symbolique SRC-lib1 sous Core-Android dans le package Explorer Windows Point sur le fodeur SRC de Core's SRC, dans le système de fichiers, vous avez toujours deux dossiers de projet distincts. Maintenant, si vous modifiez du code dans Core et Exécutez Core-Android, Eclipse va construire et installer la dernière APK. Pas besoin de nettoyer le projet Core-Android.

      Fenêtre source de liaison: Entrez la description de l'image ici

      Look final dans l'explorateur de paquets:

      Entrez la description de l'image ici

      Vous devez toujours envisager l'approche normale comme une première option, après tout, le projet manuel Clean n'est pas un gros problème à comparer à l'approche inhabituelle que j'ai décrite ci-dessus.


3 commentaires

@shino, content d'entendre ça aide.


Ce n'est vraiment pas comment cela devrait fonctionner. Référencer un projet d'un autre signifie que le projet principal (Android dans ce cas) est notifié (plutôt ses constructeurs) des modifications des projets référencés. Il peut y avoir un problème dans nos constructeurs lorsque cette notification arrive cependant, mais elle devrait fonctionner hors de la boîte.


@XAV, merci pour vos commentaires, peut-être devrions-nous soulever un bug dans Android Issue Tracker . Quoi qu'il en soit, bon de voir un gourou de l'équipe Android participe à Stackoverflow :)



0
votes

Vous ne croirez pas à quel point est facile et idiot la solution

sur Eclipse, Aller à la fenêtre-Préfences-> Run / Debug -> Lancement de

Et puis, sur Sauvegarder les éditeurs sales requis avant de lancer:
Choisissez l'option d'invite,
Apply et OK


0 commentaires