Development Tip

AAR에 전 이적 종속성이 포함될 수 있습니까?

yourdevel 2020. 12. 5. 10:43
반응형

AAR에 전 이적 종속성이 포함될 수 있습니까?


지금은 OkHttp와 같은 라이브러리에 의존하는 프로젝트 Foo와 같은 라이브러리 프로젝트가 있습니다.

이제 Foo에는 AAR을 생성하고이를 공공 장소로 푸시하는 Maven 빌드 단계가 있습니다.

이제 프로젝트 B가 있다고 가정 해 보겠습니다. Bar라고 부릅니다. Bar는 Android 애플리케이션이며 Bar는 Foo에 의존합니다.

글쎄요. 그러나 public staticOkHttp를 호출하는 Bar에서 Foo 함수를 호출하면 다음 메시지가 표시됩니다.

java.lang.NoClassDefFoundError: com.squareup.okhttp.OkUrlFactory
            at com.foo.sdk.utils.OkHttpStack.<init>(OkHttpStack.java:15)

그런 일이 가능합니까? 아니면 Bar가 OkHttp와 Foo의 다른 종속성에 수동으로 의존해야합니까?


시간이 좀 걸렸지 만 내가 찾고 있던 것을 찾았습니다. 내가 검색어를 표현하는 방식이었습니다.

이 덜 보이지 않는 대답은 정확히 내가 찾던 것입니다.

Gradle을 사용하여 aar 라이브러리에 대한 전이 종속성이 해결되지 않았습니다.

기본적으로

transitive = true

...받는 build.gradle바의

예:

compile ('com.foo:FOO:1.0.0@aar'){
       transitive=true
}

이렇게하면 모든 전이 라이브러리가 포함됩니다.

그러나 이로 인해 exclude태그를 사용하여 해결할 수있는 종속성 (특히 로컬 항목) 간의 충돌이 실제로 발생할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/25698160/can-an-aar-include-transitive-dependencies

반응형