Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.








Pareil pour moi s'il faut regarder comment faire ces makefiles(quoique, j'avoue que tu m'as donné envie de jeter un oeil).
Peut etre que proguard ne marche pas sur mac. En tous cas, sous windows, je n'ai pas eu de probleme. Quand j'ai eu des warnings, ils se sont tous averes reels. Tu as mis quoi comme librairie ? Seulement rt.jar ?
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Bonjour,
je me suis donc décidé à regarder ce que fait yGuard.
J'ai commencé par essayer de supprimer tout ce qui est inutile, mais le souci, c'est que ça supprime un peu trop :
En fait, il ne me reste que les classes les dossiers que j'ai spécifié :-(
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <project name="project" default="yguard" basedir="."> <target name="yguard"> <taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="Packages/yguard-2.4/lib/yguard.jar"/> <yguard> <inoutpair in="firetiti.jar" out="firetiti_shrinked.jar"/> <shrink> <keep> <class> <patternset> <include name="patternRecognition.textures.glzm.glszm.*"/> <include name="patternRecognition.textures.glzm.glolzm.*"/> </patternset> </class> </keep> </shrink> </yguard> </target> </project>
Je voulais lui dire de garder tout ce que ces classes utilisent.
Quelqu'un pourrait il m'aider svp ?
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Euh... en fait même les classes sont vides : toutes les méthodes ont été supprimées.
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
je viens de faire des tests et j'arrive aux même résultats. Apparement, soit il garde tout mais vire les annotations / info de debug inutiles. Soit tu lui fait la liste des classes à garder mais il ne guarde que celles là. Il est incapable de faire l'analyse.
Je viens de lancer ça:
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <project name="project" default="yguard" basedir="."> <target depends="jar" name="yguard"> <taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="libs/yguard.jar"/> <yguard> <inoutpair in="firetiti.jar" out="firetiti_shrinked.jar"/> <shrink> <keep> <class> <patternset> <include name="mon.paquet.MonMain"/> </patternset> </class> </keep> </shrink> </yguard> </target> <target name="init"> <property name="project_name" value="DemoProject"/> <property name="srcDir" value="src"/> <property name="classDir" value="classes"/> <property name="jar" value="firetiti.jar"/> <property name="renamelog" value="${project_name}_renamelog.xml"/> <property name="shrinklog" value="${project_name}_shrinklog.xml"/> <mkdir dir="${classDir}" /> </target> <!-- compile --> <target name="compile" depends="init"> <javac srcdir="${srcDir}" includes="**/*.java" destdir="${classDir}"> </javac> </target> <!-- create .jar --> <target name="jar" depends="compile"> <jar jarfile="${jar}" basedir="${classDir}" includes="**"> <manifest> <attribute name="Main-Class" value="mon.paquet.MonMain"/> </manifest> </jar> </target> </project>
et tout ce qu'il me guarde, c'est MonMain, sans méthode. Aucune des classes annexe.
Pour qu'il explore, faut lui filer les méthodes point de départ:
et là j'ai le bon jar qui marche avec les classes inutiles supprimées
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <shrink> <keep> <method name="void main(java.lang.String[])" class="mon.paquet.MonMain" /> </keep> </shrink>
Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [shrink] size before: 1 KB, size after: 1 KB. [shrink] removed 1 classes, 2 methods, 0 fields, 0 resources. [shrink] 3 classes remaining of 4 total.
Merci pour ces précisions, mais malheureusement cela ne fonction pas chez moi :-(
Raison principale : je n'ai aucune méthode Main dans les classes que je souhaites garder.
J'ai essayé de modifier le code pour pointer les méthodes principales qui seront appelées, mais apparemment ça ne gère pas les '*' :
Et ça ne fonctionne pas
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<method name="*FillMatrix(*)" class="patternRecognition.textures.glzm.glszm.*"/>![]()
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
J'ai réussi à faire à peu près ce que je voulais en utilisant ce code :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <project name="project" default="yguard" basedir="."> <target name="yguard"> <taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="../lib/yguard.jar"/> <yguard> <inoutpair in="../../../firetiti.jar" out="tmp.jar"/> <shrink> <keep> <class classes="public" methods="public" fields="public"> <patternset> <!-- liste des classes à préserver/--> </patternset> </class> </keep> </shrink> </yguard> <yguard> <inoutpair in="tmp.jar" out="../../../firetiti_lite.jar"/> <rename> <keep> <class classes="public" methods="public" fields="public"> <patternset> <!-- liste des classes à préserver/--> </patternset> </class> </keep> </rename> </yguard> </target> </project>
Seulement, je dois mettre deux fois exactement la même liste de classes dans les <includes>.
Y aurait il un moyen de mettre tout cela dans une variable que l'on appellerait où il faudrait ?
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14<shrink> <keep> <class classes="public" methods="public" fields="public"> <patternset id="myfiles"> <!-- liste des classes à préserver/--> </patternset> </class> ... <rename> <keep> <class classes="public" methods="public" fields="public"> <patternset refid="myfiles"/> </class>
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Ca marche super bien !
Une fois de plus... MERCI![]()
![]()
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Partager