proguard를 이용해 코드를 보호하시려 돌리다 보면 간혹 proguard가 코드를 제대로 분석하지 못하고  NullPointerException 등의 알수 없는 오류로 인해 더 이상 진행을 못하는 경우가 있습니다.

구글 해본 봐로는 코드를 분석이 되도록 수정하는 방법과 proguard를 업그레이드 하는 방법이 있는데, 후자를 추천합니다.

현재 Android SDK r12 버전에 포함된 proguard는 4.4 입니다. 이는 2009년에 릴리즈된 아주 오래된 버전입니다. 최신 버전은 4.6으로 2011년 2월에 출시되었습니다. 오래되었다고 반드시 안 좋은건 아니지만 위와 같은 오류가 발생하면 대책이 없습니다.

업그레이드는 하는 방법은 아주 간단합니다. $ANDROID_SDK_HOME/tools/proguard ($ANDROID_SDK_HOME은 Android SDK 가 설치된 경로입니다.) 을 최신버전으로 갈아치우면 끝입니다. 참 쉽죠? :)

proguard는 http://sourceforge.net/projects/proguard/files/proguard/ 에서 다운받으십시오. 압축을 푸시면 proguard4.6 이란 폴더가 생기는 데요. 이를 tools 밑의 proguard로 덮어 쓰시거나 기존것을 지우고 덮어쓰셔도 됩니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
지난번 Sourceforge.net 에 이어서 이번엔 Google code 내의 프로젝트를 연결해보겠습니다. 웹에서 검색하면 관련된 내용이 많이 나옵니다만, 아쉽게도 Query pattern에 오류가 있네요. 그래서, 다음과 같이 하시면 됩니다.

  • Server: http://code.google.com/p
  • Label: <Your Project Display Name>
  • User ID: <Your Google user ID>
  • Password: <Your Google password>
  • Additional Settings
    • Parameter/Value: projectName/<Your Project Name(by lowercase)>
    • Advanced Configuration
      • Task URL: ${serverUrl}/${projectName}/issues/detail?id=
      • New Task URL: ${serverUrl}/${projectName}/issues/entry
      • Query Request URL: ${serverUrl}/${projectName}/issues/list?can=1&q=&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&cells=tiles
      • Query Pattern: <td.+?class="vt col_6".+?onclick="if \(!cancelBubble\) _goIssue\(.+?\)".+?<a.+?href="detail\?id=({Id}[0-9]+)".+?>\s+({Description}.+?)\s+</a>.+?</td>

새 Query 작성시에는 아래와 같이 채웁니다.
  • Query Title: <Your Query Title>
  • Parameter/Value: projectName/<Your Project Name(by lowercase)>
  • Advanced Configuration
    • Query URL: ${serverUrl}/${projectName}/issues/list?can=1&q=&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&cells=tiles
    • Query Pattern: <td.+?class="vt col_6".+?onclick="if \(!cancelBubble\) _goIssue\(.+?\)".+?<a.+?href="detail\?id=({Id}[0-9]+)".+?>\s+({Description}.+?)\s+</a>.+?</td>

가장 중요한 부분은 Query Pattern 입니다. 사이트 html이 바뀐다면 또 안될수도 있습니다. 참고하세요.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
아래의 주소에 받으실 수 있습니다. 용량은 18메가 가량 됩니다.
혹시, 소스에 문제가 있으면 이곳이나 한빛미디어 사이트에 알려주시면 반영해서 업데이트하고 공지해 드리겠습니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License