Je veux changer quelque chose dans le fichier JAR du plug-in CodeCode Scanner pour Cordoue, à savoir le Je l'ai décompressé à l'aide du terminal (je suis sur un Mac). P>
Puis, en utilisant classeditor , j'ai regardé la catégorie captuactérie et changai la valeur.
Ensuite, j'ai ré-archivé-le en utilisant Le problème est que lorsque j'essaie de le construire en utilisant Ionic, je reçois une longue liste d'erreurs contenant: p>
Exception de niveau supérieur inattendu:
com.android.dx.cf.iface.parseException: mauvaise longueur d'attribut; attendu
Longueur 00000002 ... ... tandis que l'analyse
Com / Google / ZXing / Client / Android / CapTureActivity.class P>
blockQuote>
J'ai remarqué que le nouveau fichier jar est de 7 KB plus grand que l'original, bien que je n'ai changé que le numéro de 1500 à 9500, de sorte que c'est un peu bizarre. P>
Quiconque peut m'aider? Regardé en ligne mais rien trouvé ... p> résultat_display_duration_ms code> dans la classe
CapTureActivity code>. P>.
JAR CFV SamenamameAsoriginal.jar * code>.
Ensuite, j'ai remplacé le fichier jar d'origine pour le nouveau. P>
3 Réponses :
Étendez de la classe et ajustez la valeur:
public class CustomCaptureActivity extends CaptureActivity { RESULT_DISPLAY_DURATION_MS = 9500; // wheras 9500 is your custom value }
La bonne réponse est que certains de vos fichiers JAR ne compilent pas. Vous devez entrer dans votre chemin de construction (définir tous les chemins dépendants) dans votre projet et regarder dans vos dépendances. P>
Si vous souhaitez simplement importer des fichiers JAR, vous pouvez essayer de les supprimer et de les ajouter une à la fois. Cela vous aidera à déterminer lequel d'entre eux provoque l'erreur. P>
Dans mon cas, je l'ai fait, et quand j'importais le dernier, l'application compilée. Je pense donc que le vrai problème était que j'importais trop à la fois. Mais maintenant tout fonctionne. P>
Je pense que le problème est parce que lorsque vous créez le pot, il existe des liens qui peuvent être liés à l'ancienne version du fichier (en raison de raisons d'optiomination) et tout simplement se bloque.
Pas sûr, mais je pense que c'est la raison. p>
Donc, au lieu de changer le fichier, vous pouvez utiliser ou un modèle de conception de décorateur (meilleure idée, si possible) sous-classant la classe que vous devez modifier avec les modifications ( https://fr.wikipedia.org/wiki/decorator_pattern ) ou vous pouvez utiliser la réflexion pour modifier directement la bibliothèque. . P>
Voici un exemple de comment changer de champ final privé. Vous pouvez faire quelque chose de similaire: p>
Pourquoi voulez-vous faire cela?
Lorsque le scanner de code à barres analyse un code, il affiche un message comme "URL trouvée" ou "Texte trouvé" pour un peu moins de 2 secondes. Je veux éliminer ce délai car dans mon application, il est essentiel que la numérisation est rapide. J'ai d'abord essayé de changer les fichiers .java du plugin, mais cela ne m'a pas eu beaucoup plus loin: Stackoverflow.com/Questtions/31965298/...
Pourquoi n'expendez-vous pas les classes que vous utilisez et changez de code? le comportement? Pourquoi pirater le bocal quand vous pouvez utiliser OOP?
Je suis nouveau à cela. Comment cela fonctionnerait-il? Je l'ai fourchu sur github.com, a changé le code, puis j'ai installé ma fourchette, n'a pas fonctionné. Voir l'URL dans mon commentaire précédent.
Je pense que vous utilisez jd.benow.ca et décompiler vers des fichiers Java et créer un nouveau projet dans Eclipse et créer une coutume à partir de cela.
Si vous changez quelque chose dans une archive Android, vous devez résigner l'archive à nouveau.
Le message n'est-il pas montré à partir d'un rappel? Peut-être que vous pouvez afficher le message sur un TextView lorsque le rappel est déclenché