2013-03-01 2 views
27

안드로이드 프로젝트를 위해 프로 가드를 설정하려고합니다. 내 응용 프로그램 프로젝트에는 코드가 거의 없지만 대부분의 코드와 다른 외부 항아리가있는 라이브러리 프로젝트를 참조합니다. 즉, 나는 이것을 고려하여 프로 가드를 설치하는 방법을 모르겠습니다. 지금 당장 내 proguard 설정 파일은 Android 예제 (the ProGuard site) 일뿐입니다. 나는 주위를 둘러 보았지만 도서관 프로젝트, 단지 단지와 함께 프로 가드를 사용하는 것에 관한 많은 문서를 찾지 못했습니다. 나는 proguard를 처음 사용하기 때문에 올바른 방향으로 나아가는 것이 좋을 것입니다. 감사.안드로이드 라이브러리 프로젝트로 ProGuard 설정하기

답변

15

편집

@BornToCode가 지적 하듯이, 다른 대답 (원래 here을 게시는) 더 나은 Proguard와 처리하는 방법 라이브러리 프로젝트를 설명합니다. 또한이 참조 된 질문은 원래 응답에 링크 된 것보다 더 많은 관심과 평판을 얻습니다. 견적은 : 그 자체로

도서관 프로젝트는 ProGuard를 실행하지 않는, 그래서 그들은 어떤 구성을 사용하지 마십시오.

응용 프로그램 프로젝트는 참조 라이브러리를 포함하여 전체 코드베이스를, 당황, 그래서 그들은 응용 프로그램 코드와 라이브러리 코드에 대한 적절한 구성이 필요합니다.


올드 대답(잘못하지, 단지 아마 가장 좋은 방법)

라이브러리 프로젝트가 Eclipse에서의 항아리에 프로젝트를 연결하는 편리한 방법의 더 많은 것이다. 프로젝트를 빌드 할 때 컴파일러가 볼 수있는 라이브러리 프로젝트의 유일한 구성 요소는 jar 파일입니다.

당신은 그 항아리를 당황이 게시물에 체크 아웃 할 경우

How to obfuscate an Android library (.jar file) using Proguard in Eclipse

+0

안녕하세요,이 대답은 http://stackoverflow.com/questions/10982344/is-proguard-cfg-needed-for-library-projects#10992604 ([이]와 다른 것 같다). 설명해 주시겠습니까? – BornToCode

+0

@ BornToCode 당신은 절대적으로 옳습니다. 연결된 응답은 내 대답보다 훨씬 더 평판이 좋습니다. 나는 이것에 대한 링크와 내 대답에 인용문을 여기에 추가했다. – Phil

4

그것은 라이브러리에 대한 난독 설정을 (이 같은 라이브러리 파일 난독 화해서는 안) 지정하는 나에게 의미가를 도서관 프로젝트. 내 응용 프로그램에서 내 라이브러리 모듈의 프로 가드 구성을 포함시켜야 함을 발견했습니다. 이렇게하려면 내 라이브러리의 build.gradle

apply plugin: 'com.android.library' 

android { 
    defaultConfig { 
     consumerProguardFiles 'proguard-rules.pro' 
    } 
} 

으로하여 defaultConfig 섹션에 다음을 추가하고 중요한 직렬화 된 클래스의 이름을 유지하기 위해 내 라이브러리 모듈의 proguard-rules.pro 파일을 구성.

또한보십시오 consumerProguardFiles gradle reference

관련 문제