이제 매우 까다 롭습니다!
다른 것을하기 전에 jar 파일의 압축을 풀고 Proguard가 BouncyCastle의 클래스 파일을 난독 화했는지 확인하십시오. 라이브러리로 bouncycastle jar 파일을 포함 시켰기 때문에 거기에 클래스 파일이 있으므로 Proguard가 많은 공간을 차지하는이 클래스 파일을 난처하게 만들지 않았다고 가정합니다.
어쨌든 탄력성이 강한 jar 파일을 다운로드했으며이 파일이 클래스 파일로만 구성되어 있다는 것을 알 수 있으므로 삭제 된 jar 파일을 없애고 결과 jar 파일을 줄일 수있는 여분의 파일은 없습니다.
이제 당신이 정말로 둘 다 위험하다, 나는이 개 솔루션을 생산하기 위하여려고하고 읽을 다음 줄이려면 :
이
해결 방법 1 (권장하지 않음) 가 :
이것은 쉽지만 권장하지는 않습니다. 런타임 예외 또는 오류가 발생할 수 있습니다. bouncycastle jar 파일의 압축을 풉니 다. 당신은 패키지 아래 org.bouncycastle.util 이들를 사용하는 언급 한 것처럼 그런 bouncycastle \ 조직 \ SRC 디렉토리로 이동합니다. * org.bouncycastle.crypto을. *
을 지금 여기에 내가 가정한다 이 두 패키지 내의 소스 코드는 다른 패키지 안에있는 소스 코드/클래스 파일에 의존하지 않습니다.
"asn1", "bcpg"과 같은 다른 디렉토리를 삭제하십시오. 이 단계에서 나는 푸줏간 주자가되지 않을 것이고 모든 것을 삭제할 것이다. 그러나 부부를 지우고 나서 돌아와 다른 사람들을 삭제하면 돌아 간다.
이제 jar 파일을 다시 생성합니다. 당신은 당신이 META-INF 조직처럼 유틸
을 다른 디렉토리를 볼 경우 디렉토리가 현재 디렉토리의 루트로 돌아가 삭제 한 후이이 올바르게 다른 jar 파일에 필요한 중요한 단계이다 작동 안 할 것이다. 루트 디렉토리 및 다음 마우스 오른쪽 클릭 -에있는 모든 디렉토리를 선택> zip 파일이 생성되면 다음
를 압축 보내
- 의 크기 *의 .jar 대신 .ZIP *의 필요에 이름을 바꿉니다 jar 파일은 줄어들었을 것이고, 이제이 jar 파일을 프로젝트에 포함시킬 것입니다. 그것이 컴파일되고 실행되는지 확인하십시오. 그런 다음 런타임에 올바르게 작동하는 경우 기능을 확인하십시오.모든 것이 잘되면, 당신은 끝났습니다. 이제 위의 단계를 반복하여 jar 파일 크기를 줄이려면 다른 디렉토리를 삭제할 수 있습니다.
해결 방법 2 :
- 사용중인 bouncycastle jar 파일의 소스 코드를 다운로드합니다.
- 프로젝트에서 jar 파일을 제거해야합니다.
- 프로젝트에 소스 코드를 포함시킵니다. 프로젝트를 빌드하고 컴파일 오류가 발생하지 않는지 확인하십시오. 이 단계에서 은 원래 jar 파일을 사용하지 않고 코드 만 사용한다는 것을 확인해야합니다.
- 이제는 필요없는 코드가 포함 된 패키지를 삭제하기 시작하십시오. 계속해서 컴파일 오류가 발생하지 않도록 프로젝트를 다시 작성하십시오 (예 : ). 그렇다면 해당 패키지를 델타하고 다른 사용자를 삭제하려고하지 마십시오.
- 일단이 butchring이 완료되면 프로젝트를 빌드하고 jar 파일을 생성하십시오.
- 이렇게하면 Proguard는 탄력성이 강한 코드를 난독 화하고 코드를 삭제할 필요가 없기 때문에 결과 jar 파일의 내용이 실질적으로 감소해야합니다.
추가 된 프로 가드 태그는 프로 가드 (proguard)가 사용하는 클래스로만 줄이기위한 올바른 옵션 일 뿐이므로 추가되었습니다. –