Alguém já utilizou a opção de Ofuscar código do Proguard?
Quando submeto um JAR específico ao processo de ofuscação, ele renomeia todos os métodos e classes para caracteres genéricos (a, b, c… sequencialmente).
O problema é que quando transponho o jar para a aplicação, o Eclipse não reconhece mais as classes.
Alguém tem idéia do que deve ser feito?
Abraços
Proguard
6 Respostas
madbob, bom nao sei como vc esta fazendo a ofuscação. Bom primeiro vc cria o jar no eclipse depois vc utiliza o proguard para ofuscar.
Ele modifica o jar. Mais as classe do eclipse nao meu… vc esta tentando exportar o jar para o eclipse nao precisa disso…
Com o seu jar criado ex “Aplicacao.jar”, vc coloca ele no Proguard e la vc pede para ele gerar o jar ofuscado em outro jar ex “AplicacaoOfc.jar”
Bom espero ter ajudado…
Qualquer coisa vc post ae…
resumindo o que o colega acima falou …
não se ofusca todas as classes em um jar …
tem que dizer, ofsca este jar, com excessão desta e desta classe, pois estas duas são o ponto de entrada da minha app 
Acho que não fui claro…
Eu tenho um jar, certo? Quando peço para ofuscá-lo, ele gera outro jar com as classes ofuscadas (os *.class foram todos ofuscados corretamente).
O problema é que quando eu coloco no Eclipse novamente esse jar, apenas para testar e verificar as modificações, ele não reconhece mais os pacotes e as classes. O Eclipe aponta erros de Cannot be resolved, ou seja, as referências as classes se tornaram inválidas.
Entendeu?
Se eu pegar esse jar e der um deploy no servidor, funcionará, mesmo dando erros de referências no Eclipse?
Acho que não fui claro…
Eu tenho um jar, certo? Quando peço para ofuscá-lo, ele gera outro jar com as classes ofuscadas (os *.class foram todos ofuscados corretamente).O problema é que quando eu coloco no Eclipse novamente esse jar, apenas para testar e verificar as modificações, ele não reconhece mais os pacotes e as classes. O Eclipe aponta erros de Cannot be resolved, ou seja, as referências as classes se tornaram inválidas.
Entendeu?
Se eu pegar esse jar e der um deploy no servidor, funcionará, mesmo dando erros de referências no Eclipse?
não não vai funcionar e tu ja tinha sido claro sim …
mas como eu falei antes …
tu não pode ofuscar o jar inteiro …
as classes que tu referencia diretamente, tu tem que dizer pra o proguard não ofuscar (tem um parametro pra ele que não lembro qual e agora que faz isto)
ai tu vai usar estas classes apenas do jar, e estas classes podem usar as outras que estão obfuscadas sem problemas …
Saquei!
Valeu urubatan… não tinha visto o seu post. Apenas o do colega!
Um abraço
Buenas,
Escrevi um tópico sobre Ofuscar e Compactar Projetos em Java, o usei o ProGuard, caso queira mais detalhes acesse o link abaixo.