Android 앱의 표준 빌드 시스템으로 Gradle의 새로운 채택에 대한 기사를 읽었습니다. 글쎄, 표준 Java 개발에서 나는 보통 프로젝트를 빌드하기 위해 jar 파일에 의존합니다 . 그러나 안드로이드는 것 같다 AAR 에 동일 패키지, dll을 언급 한 바와 같이, 윈도우 OS에서 파일 여기를 :
먼저, Android 플랫폼이 응용 프로그램 수준의 "공유 라이브러리"를 허용하지 않음을 알아야합니다. "전통적인"프로그래밍 언어 플랫폼 인 C, C ++, Java에서는 런타임 라이브러리를 공유하는이 메커니즘이 있습니다. (예 : Windows의 DLL, Unix의 DSO, JVM의 Jar 등). 그러나 Android에서는 Google 또는 핸드셋 제조업체가 아닌 한 그렇게 할 수 없습니다 (아래 각주 1 참조). 응용 프로그램 개발자는 이것이 근본적인 한계가 될 수 있습니다. 빌드 타임과 런타임에서 "공유"또는 "재사용"코드는 소프트웨어 엔지니어링 실무에서 매우 중요한 부분입니다. 위에서 언급 한 한계로 인해 Android에서는 다소 어렵습니다 (불가능하지는 않지만 더 어렵습니다).
그러나이 개념에 대해 약간의 의심이 있습니다. 내 응용 프로그램에 aar 종속성을 포함하여 개발자가 언제 관심을 가져야 합니까? 이 종속성이 일부 SDK 최소 버전으로 강화 되었습니까?
예를 들어 한 프로젝트에서 COM 포트에 액세스합니다.이 포트는 NDK 사전 컴파일 된 .so 라이브러리를 사용합니다. 이 유틸리티를 공유하려면 aar를 만들어야합니까?