JCreator 에서 Proguard 사용하기

Posted at 2009. 4. 8. 18:42 | Posted in 프로그램/► 툴설정
JCreator 에서 Proguard 사용하기

반응형

모바일 게임을 개발 하면서 메모리를 맞추기 위해서 별의별 방법을 다 강구합니다.


최신폰이야 비교적 메모리가 넉넉해서 괜찮은데 구형폰에 맞추려면 개발자의 노력이 필요합니다.


그중에 가장 확실한 방법이 Proguard 를 이용하는 것입니다. 이와 유사한 다른 툴도 있지만 가격이 만만찮고 어둠의 경로로도 구하기 힘듭니다.


그리고 또한가지 쓰는 이유가 역컴파일을 해도 분석이 되지 않습니다. 변수명과 함수명이 전부 A, B, C... 등으로 나오기 때문에 분석이 불가능 합니다. 당연히 코드도 사용하지 못합니다.


이런 이유로 개발시 무조건 이 툴을 이용해 개발을 마무리 했었습니다.


XCE 에서 ProguardgUI 를 사용한 방법도 소개를 한게 있는데 Proguard 를 한번 사용하기 위해서 너무 많은 클릭을 요구 하는거 같아서 한번의 클릭으로 Proguard 를 사용하게끔 만들어 봤습니다.
 

XCE의 핑크레드님의 ProGuardUI 사용법.zip


   bat 생성 
 

이번에도 bat 파일을 먼저 만들어 보겠습니다.

이번에도 마찬가지로 SKVM 을 기본으로 하겠습니다. 위피도 마찬가지 이므로 응용해서 사용하시면 됩니다.


@echo off

SET PROJECT_DIR=%1
SET PROJECT_NAME=%2
SET JAVA_CLASS=%3
SET SRC_DIR=%PROJECT_DIR%\src
SET CLASS_DIR=%PROJECT_DIR%\classes

rem ==========================수정사항===============================
SET OBC_PAT=C:\proguard\lib\proguard.jar
SET JAVA_HOME2=C:\j2sdk1.4.2_13\bin
SET SKT_CLASS=D:\MobileEmulator\SKT_Emul\SK-VM_SDK1.3.5\classes\classes.jar
rem ==========================수정사항끝==============================

cd %CLASS_DIR%
move %PROJECT_NAME%.jar %PROJECT_DIR%

rem === class 파일이 27개 이상일때 쓰는 옵션 : -dontusemixedcaseclassnames, MIDlet 명 보여줌 : -printseeds, ??? :  -overloadaggressively -defaultpackage '' -allowaccessmodification, -dontoptimize : StackOverflowError 가 날시 and 변수 수정 사용,  ===

%JAVA_HOME2%\java -jar %OBC_PAT% -libraryjars %SKT_CLASS% -injars %PROJECT_DIR%\%PROJECT_NAME%.jar -outjar %PROJECT_NAME%.jar -keep public class %JAVA_CLASS% extends MIDlet

cd %PROJECT_DIR%
del %PROJECT_NAME%.jar /q

cd %CLASS_DIR%
del *.class /q
%JAVA_HOME1%\jar -xf %PROJECT_NAME%.jar
%JAVA_HOME1%\jar -cfM %PROJECT_NAME%.jar *.*

cd %CLASS_DIR%
del *.class

rem $[PrjDir] $[PrjName] $[JavaClass]

 

위 사항을 메모장에 옮기신후 xxx.bat 로 저장을 합니다.

Proguard 다운로드

다음에 위 사이트에서 Proguard 를 다운 받습니다. 다운 받은 후 적당한 곳에 압축을 풀어 줍니다.

그 다음에 메모장에 저장된 수정사항 부분을 사용자에 맞게 수정해 줍니다.

 

   JCreator 설정
 

위 사항까지 해 주시면 준비는 끝났습니다. 그럼 JCreator 에서 연결을 시켜 보겠습니다.

configure -> options -> Tools 에서 new 를 선택하시고 program 을 선택하시면 목록에 새로운게 하나 생깁니다. 그럼 왼쪽 부분에 새로 생긴 부분을 선택하시면 설정할수 있는 화면이 오른쪽에 생깁니다.


 
위 이미지와 같이 셋팅을 해주시면 됩니다.
 
그리고 난 다음에 Ctrl+1 을 누르시면 Proguard가 자동으로 이루어 집니다.

JCreator 뿐만이 아니고 다른 에디터 툴에서도 조금만 응용을 하면 사용하실수 있습니다.