2016-11-05 1 views
-1

J'ai téléchargé un tel projet Android open source de github repo. , et les classes que je veux éditer sont sous build/intermediates/exploadded-aar/ly.img.android/photo-éditeur-sdk/2.0.13/jars, alors il y a le dossier classes.jar, à l'intérieur j'ai plus dossiers un enfant contient des classes, je veux éditer dans le fichier appelé "ImgLyConfig.class", quand je décompresser fichier .jar et aller à cette classe je l'ai trouvé comme ça enter image description here, ce que je fais est d'aller décompiler en ligne http://www.javadecompilers.com/, alors j'ai une classe décompilée je l'ai téléchargée, et éditer tout ce que je veux, puis je veux remplacer le fichier ImgLyConfig.class qui est dans le fichier .jar avec mon nouveau édité, J'ai essayé cette soultion How do you recompile a jar file?, et d'autres nombreuses solutions dans Google et dans Stackoverflow, mais toujours mes classes n'ont pas été éditées, j'ai aussi essayé de créer une telle nouvelle classe et de copier le code de la classe que je veux, mais je ne savais pas comment faire du code utiliser la nouvelle classe J'ai essayé de l'étendre et de le changer mais j'ai échoué ed aussi:/Comment puis-je modifier le fichier de classe .jar dans android studio

NP: ma classe en studio android ressemble à ceci: enter image description here et il n'a pas d'accepter toute modification

, mon studio android est 2.1.2 et de la bibliothèque que je veux modifier dans github est https://github.com/imgly/imgly-sdk-android-demo,

+0

vous venez de télécharger ce projet puis après extrait dans votre PC dans n'importe quel dossier puis après l'importation comme un modulaire afin que vous puissiez facilement l'éditer – Shailesh

+0

- Merci pour une réponse rapide - Mais, Comment puis-je l'importer en tant que module, Pourriez-vous S'il vous plaît donnez-moi des mesures pour le faire? –

+0

La licence de bibliothèque img.ly ne vous permet pas de le modifier. Vous pouvez avoir des problèmes légaux lorsque vous publiez une application avec une telle bibliothèque. – zapl

Répondre

0

Si vous modifiez du code, vous devez recompiler le code source pour obtenir le fichier jar mis à jour. Si le projet est open source, il devrait y avoir des instructions sur le repo github sur la façon de le compiler en utilisant maven/gradle etc.

Ce que vous devez faire est:

  1. Télécharger le code source du repo github, pas les fichiers jar compilés. Cela vous donnera les fichiers de code source .java modifiables, pas les fichiers .class de code octet compilés. Vous pouvez facilement modifier les fichiers .java sans devoir les décompiler en premier
  2. Compilez le fichier jar à partir du code source.

Les fichiers source java lisibles par un humain sont compilés en code octet lisible par machine par le JDK et stockés dans des fichiers .class. Les fichiers de classe sont ensuite regroupés dans des fichiers .jar. Lorsque vous décompilez une classe .class, vous vous rapprochez suffisamment du fichier .java, mais certaines choses ne seront pas complètement identiques après la compilation et la décompilation.

+1

Merci beaucoup, Vous ajoutez de nouvelles informations.pour moi (ce que j'apprécie vraiment), Je reconnais où est ma faute, Simplement, Ce n'est pas lié à compiler/décompiler, Il est lié à l'importance de lire toute la documentation pour quelque chose que j'utilise. :) –