저는 Android 프로젝트 용 주석 프로세서를 작성 중이며 상황이 발생했습니다. 라이브러리 모듈의 주석이 달린 클래스를 처리하고 싶습니다. 즉, app 모듈은 라이브러리 모듈에 의존하며 라이브러리 모듈의 주석이 달린 클래스를 처리해야합니다.주석 처리 타사 라이브러리
그러나 주석 처리기는 코드가 이미 컴파일 되었기 때문에 종속성에서 주석을 "볼"수 없습니다. 다른 라이브러리에 대한 문제는 here을 참조하십시오. 내 프로젝트의 문제에 대한 시연은 지점 here에 있습니다. sample
모듈의 주석은 처리되지만 lib
모듈의 주석은 처리되지 않습니다.
이것은 모두 훌륭하지만이 기능이 없으면 살기 위해 사임했지만 안드로이드 데이터 바인딩 라이브러리는 모듈 및 타사 라이브러리의 주석을 처리 할 수 있습니다. 예를 들어 This 라이브러리는 응용 프로그램에서 잘 처리되는 @BindingAdapter
메서드를 제공합니다.
나는 아무 소용이없는 주석에 보존 유형을 설정하여 놀았습니다. 내가 볼 수있는 중요한 차이점은 데이터 바인딩 프로세서는 메서드가 클래스 (유형)를 대상으로하는 동안 메서드를 대상으로하지만 프로세서와 차이가 있다고 생각하지 않는다는 것입니다. 그래서 나는 데이터 바인딩 프로세서가 안드로이드 플러그인의 일부가 될지도 모른다고 생각하고 있지만, 어떻게 도움이 될지 모르겠습니다.
누구나 알 수 있습니다.
질문에 약간 혼란 스럽습니다. 원하는 것을 할 수없는 예를 제공 할 수 있습니까? 보존 정책이 Runtime 인 한, 컴파일 된 것이 든 아니든, 내가 아는 한 중요하지 않습니다. –
필자는 런타임 프로세서 주석에 대해서는 중요하지 않지만 성능상의 이유로 Android에서 일반적으로 사용되는 패턴 인 컴파일 타임 프로세서 주석에 대해서는이를 이해하고 있습니다. 지금 예제 프로젝트를 만들지는 않았지만 참조한 프로젝트에서 참조한 ClassIndex 프로젝트를 포함하여 참조 된 문제에서 언급 한 문제를 설명해야합니다. –
"* 주석 처리기는 종속성에서 주석을"볼 "수 없습니다. 아마도 코드가 이미 컴파일 되었기 때문일 것입니다. *"- 우리가 준 링크의 응답은 "* 사용자 정의 프로세서는 * "당신이 답장을 읽지 않은 것처럼 보입니다. 그것은 당신의 문제를 해결할 수있는 정보를 포함 할 수 있습니다. –