2014-09-08 2 views
5

SDK를 개발 중이고 SDK를 사용하는 사용자에게는 보이지 않게하는 메소드/클래스에 @hide 어노테이션을 사용하고 싶습니다. (Activity implementation - line 3898와 동일)안드로이드 - 내 프로젝트에서 @hide 어노테이션을 추가하는 방법

@hide 주석을 추가하려고했지만 아무 일도 일어나지 않았습니다. 내 내부 SDK의 클래스/메소드를 캡슐화하기 위해 @hide 주석/또는 다른 유사한 솔루션을 사용하려면 어떻게해야합니까?

답변

5

Android SDK에서 의 스텁 버전을 빌드 할 때 @hide 주석이 사용됩니다. 컴파일시에이 스텁 ​​항아리로부터 기호를 가져오고 비 숨겨진 기호 만 사용할 수 있습니다. 런타임시 디바이스 또는 에뮬레이터에서 기호는 플랫폼 라이브러리에 있으며 반사를 통해 볼 수 있습니다.

SDK가 jar 파일 또는 이와 유사한 것으로 만 구성되어있는 경우 실제로 심볼을 숨길 방법이 없습니다.

+13

내 SDK를 캡슐화하려면 사용자가 내 SDK에서 사용하는 모든 클래스와 메서드를 볼 수 없도록하려면 어떻게해야합니까? – galvan

관련 문제