2016-09-22 5 views
0

ProGuard로 Java 프로젝트를 최적화/난독 화하려고합니다. Eclipse에서 실행 가능한 jar로 프로젝트를 추출하면 정상적으로 실행됩니다. 나는이 프로젝트에 사용ProGuard로 Java 코드를 난독 화하지 못함

Note: there were 1 classes trying to access generic signatures using reflection. 
     You should consider keeping the signature attributes 
     (using '-keepattributes Signature'). 

Note: there were 14 unresolved dynamic references to classes or interfaces. 
     You should check if you need to specify additional program jars. 
Note: there were 2 class casts of dynamically created class instances. 
     You might consider explicitly keeping the mentioned classes and/or 
     their implementations (using '-keep'). 

Note: there were 15 accesses to class members by means of introspection. 
     You should consider explicitly keeping the mentioned class members 
     (using '-keep' or '-keepclassmembers'). 

Warning: there were 13229 unresolved references to classes or interfaces. 
     You may need to add missing library jars or update their versions. 
     If your code works fine without the missing classes, you can suppress 
     the warnings with '-dontwarn' options. 
Warning: there were 61 instances of library classes depending on program classes. 
     You must avoid such dependencies, since the program classes will 
     be processed, while the library classes will remain unchanged. 
Warning: there were 18 unresolved references to program class members. 
     Your input classes appear to be inconsistent. 
     You may need to recompile the code. 

외부 libs와 그것을 수출에 항아리에 추가 : 나는 ProGuard에서 그것을 압축 할 때

, 나는 말에 특히 경고 및 오류 수천, 수 일식에서. ("필요한 라이브러리를 jar로 추출"). jar을 정말로 느리게하기 때문에 나는 "jar에 repack"옵션을 사용하지 않았습니다. 특히

libs와는 다음과 같습니다

import org.apache.poi.ss.usermodel.Row; 
import org.apache.poi.ss.usermodel.Sheet; 
import org.apache.poi.ss.usermodel.Workbook; 
import org.apache.poi.ss.usermodel.WorkbookFactory; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

나는 fondamentally 잘못 여기서 뭔가를하고 있습니까?

나는 proguard의 제안없이 성공을 시도했지만 내 코드는 경고없이 Eclipse에서 컴파일됩니다.

정말 큰 프로젝트이므로 MCVE를 제공 할 수는 없지만 누군가 내가 옳은 방향으로 나를 가리킬 수 있다면 실종 된 것에 대해 정말 고맙겠습니다.

경고의 예 :

http://pastebin.com/m9hX9LJA

는 분명히 이것은 그러나 나는 분명 몇 가지 큰 일을 할 수있는, 너희들이 해결하기에 문제가 너무 일반적인 수 있습니다 (이것은 모든 단일 방법에 대해 계속) 내가 깨닫지 못하고있는 실수는, 내가 이것을 위해 무엇을 할 것인가입니다.

답변

0

메모는 단지 암시이지만 경고는 입력의 불일치를 지적합니다. 특히, 13229 개의 미해결 된 참조 정보는 응용 프로그램의 주 코드 (-injars)는 제공하지만 라이브러리 (-injars 또는 -libraryjars)는 제공하지 않는 것이 좋습니다. Eclipse의 Extract 또는 Repack 옵션에 대해서는 알지 못하지만 입력 항아리의 내용을 확인해야합니다.

ProGuard 설명서> 문제 해결>Warning: can't find referenced class을 참조하십시오.