참고 항목
Android용 .NET에서는 기술적으로 애플리케이션과 바인딩 프로젝트를 구분하지 않으므로 이러한 항목은 둘 다에서 작동합니다. 실제로는 별도의 애플리케이션 및 바인딩 프로젝트를 만드는 것이 좋습니다. 애플리케이션 프로젝트에서 주로 사용되는 빌드 항목은 MSBuild 항목 참조 가이드에 설명되어 있습니다.
항목 빌드
| 항목 | 설명 |
|---|---|
AndroidAdditionalJavaManifest.NET 9에 추가됨 |
Java 종속성을 확인하는 데 필요한 추가 POM 파일을 나타냅니다. 설명서 |
AndroidIgnoredJavaDependency.NET 9에 추가됨 |
Java 종속성을 확인할 때 무시해야 하는 Java 종속성을 나타냅니다. 설명서 |
AndroidJavaSource |
프로젝트에 컴파일되고 포함해야 하는 Java 원본 파일(.java)을 나타냅니다.설명서 |
AndroidLibrary |
.jar/.aar 바인딩 프로젝트에 바인딩할 파일을 나타냅니다.설명서 |
AndroidMavenLibrary.NET 9에 추가됨 |
.jar/.aar Maven 리포지토리에서 다운로드하고 바인딩 프로젝트에 의해 바인딩되어야 하는 파일을 나타냅니다.설명서 |
AndroidNamespaceReplacement |
결과 관리되는 네임스페이스가 .NET 규칙에 더 적합하도록 Java 패키지 이름에 적용해야 하는 변환을 나타냅니다. 설명서 |
JavaSourceJar |
API 설명서를 가져와야 하는 Java 소스 코드를 .jar 나타냅니다.설명서 |
사용되지 않는 빌드 항목
이러한 MSBuild 항목은 더 이상 사용되지 않습니다. 계속 작동하는 동안 나열된 최신 항목으로 마이그레이션하는 것이 좋습니다.
| 항목 | 설명 |
|---|---|
AndroidAarLibraryDeprecated |
프로젝트 출력에 포함할 Android .aar 파일을 나타냅니다.설명서 |
AndroidJavaLibraryDeprecated |
프로젝트 출력에 포함할 Android .jar 파일을 나타냅니다.설명서 |
EmbeddedJarDeprecated |
바인딩되어 프로젝트 출력에 포함할 Android .jar 파일을 나타냅니다.설명서 |
EmbeddedReferenceJarDeprecated |
프로젝트 출력에 포함할 Android .jar 파일을 나타냅니다.설명서 |
LibraryProjectZipDeprecated |
프로젝트 출력에 포함할 Android .aar 파일을 나타냅니다.설명서 |
AndroidAarLibrary
이 빌드 항목은 더 이상 사용되지 않으며 AndroidLibrary 항목으로 대체됩니다.
<!-- Deprecated -->
<AndroidAarLibrary Include="mylib.aar" />
<!-- Recommended -->
<AndroidLibrary Include="mylib.aar" />
.aar 파일을 직접 참조하려면 AndroidAarLibrary의 빌드 작업을 사용해야 합니다. 이 빌드 동작은 Xamarin 구성 요소에서 가장 일반적으로 사용됩니다. 즉, Google Play 및 기타 서비스를 작동하는 데 필요한 파일에 대한 참조 .aar 를 포함합니다.
이 빌드 동작을 사용하는 파일은 라이브러리 프로젝트에 있는 포함 리소스와 비슷한 방식으로 처리됩니다. .aar은 중간 디렉터리로 추출됩니다. 그런 다음, 모든 자산, 자원 및 .jar 파일이 적절한 항목 그룹에 포함됩니다.
AndroidAdditionalJavaManifest
<AndroidAdditionalJavaManifest>는 Java 종속성 확인과 함께 사용됩니다.
종속성을 확인하는 데 필요한 추가 POM 파일을 지정하는 데 사용됩니다. 이러한 파일은 종종 Java 라이브러리의 POM 파일에서 참조하는 부모 또는 가져온 POM 파일입니다.
<ItemGroup>
<AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
| 항목 메타데이터 이름 | 설명 |
|---|---|
| JavaArtifact | 필수 문자열입니다. 형식 {GroupId}:{ArtifactId}의 지정된 POM 파일과 일치하는 Java 라이브러리의 그룹 및 아티팩트 ID입니다. |
| JavaVersion | 필수 문자열입니다. 지정된 POM 파일과 일치하는 Java 라이브러리의 버전입니다. |
자세한 내용은 Java 종속성 확인 설명서를 참조하세요.
이 빌드 항목에 대한 지원은 .NET 9에서 도입되었습니다.
AndroidIgnoredJavaDependency
<AndroidIgnoredJavaDependency>는 Java 종속성 확인과 함께 사용됩니다.
무시해야 하는 Java 종속성을 지정하는 데 사용됩니다. 이는 Java 종속성 확인에서 감지할 수 없는 방식으로 종속성이 충족되는 경우에 사용할 수 있습니다.
<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
<AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
| 항목 메타데이터 이름 | 설명 |
|---|---|
| 버전 | 필수 문자열입니다. 지정된 종속성과 일치하는 Java 라이브러리의 버전입니다. |
자세한 내용은 Java 종속성 확인 설명서를 참조하세요.
이 빌드 항목에 대한 지원은 .NET 9에서 도입되었습니다.
AndroidJavaLibrary
이 빌드 항목은 더 이상 사용되지 않으며 AndroidLibrary 항목으로 대체됩니다.
<!-- Deprecated -->
<AndroidJavaLibrary Include="mylib.jar" />
<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" />
빌드 동작이 AndroidJavaLibrary 있는 파일은 최종 Android 패키지에 포함될 Java 보관 파일( .jar 파일)입니다.
AndroidJavaSource
AndroidJavaSource 파일은 최종 Android 패키지에 컴파일되고 포함되는 Java 소스 코드입니다.
.NET 7부터 프로젝트 디렉터리 내의 AndroidJavaSource모든 **\*.java 파일에는 자동으로 빌드 작업이 있으며 어셈블리 빌드 전에 바인딩됩니다. C# 코드에서 파일 내에 있는 형식 및 멤버를 **\*.java 쉽게 사용할 수 있습니다.
| 항목 메타데이터 이름 | 설명 |
|---|---|
| 바인딩 | 선택적 부울입니다. Java 원본 파일에 C# 바인딩이 생성되어야 하는지 여부를 지정합니다. 기본값은 true입니다. |
이 빌드 항목에 대한 지원은 .NET 7에서 도입되었습니다.
AndroidLibrary
.jar/.aar 바인딩되어 프로젝트에 포함할 파일을 나타냅니다.
<ItemGroup>
<AndroidLibrary Include="foo.jar" />
<AndroidLibrary Include="bar.aar" />
</ItemGroup>
| 항목 메타데이터 이름 | 설명 |
|---|---|
| 바인딩 | 선택적 부울입니다. Java 라이브러리에 C# 바인딩이 생성되어야 하는지 여부를 지정합니다. 기본값은 true입니다. |
| Pack | 선택적 부울입니다. Java 라이브러리를 프로젝트 출력에 포함할지 여부를 지정합니다. 기본값은 true입니다. |
AndroidMavenLibrary
.jar/.aar Maven 리포지토리에서 다운로드하고 바인딩 프로젝트에 의해 바인딩되어야 하는 파일을 나타냅니다.
이는 Maven에서 호스트되는 아티팩트용 Android 바인딩에 대한 .NET의 유지 관리를 간소화하는 데 유용할 수 있습니다.
<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
<AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
| 항목 메타데이터 이름 | 설명 |
|---|---|
| 버전 | 필수 문자열입니다. Maven에서 다운로드해야 하는 Java 라이브러리의 버전입니다. 기본값은 true입니다. |
| 리포지토리 | 선택적 문자열입니다. 사용할 Maven 리포지토리를 지정합니다. 지원되는 값은 CentralGoogleMaven 리포지토리의 URL입니다https. 기본값은 Central입니다. |
| 바인딩 | 선택적 부울입니다. Java 라이브러리에 C# 바인딩이 생성되어야 하는지 여부를 지정합니다. 기본값은 true입니다. |
| Pack | 선택적 부울입니다. Java 라이브러리를 프로젝트 출력에 포함할지 여부를 지정합니다. 기본값은 true입니다. |
자세한 내용은 AndroidMavenLibrary 설명서를 참조하세요.
이 빌드 항목에 대한 지원은 .NET 9에서 도입되었습니다.
EmbeddedJar
이 빌드 항목은 더 이상 사용되지 않으며 AndroidLibrary 항목으로 대체됩니다.
<!-- Deprecated -->
<EmbeddedJar Include="mylib.jar" />
<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" />
Android용 .NET 바인딩 프로젝트에서 EmbeddedJar 빌드 작업은 Java/Kotlin 라이브러리를 바인딩하고 파일을 라이브러리에 포함합니다 .jar . Android용 .NET 애플리케이션 프로젝트에서 라이브러리를 사용하는 경우 C#에서 Java/Kotlin API에 액세스할 수 있을 뿐만 아니라 최종 Android 애플리케이션에 Java/Kotlin 코드를 포함합니다.
EmbeddedReferenceJar
이 빌드 항목은 더 이상 사용되지 않으며 Bind 메타데이터가 falseAndroidLibrary
<!-- Deprecated -->
<EmbeddedReferenceJar Include="mylib.jar" />
<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" Bind="false" />
Android용 .NET 바인딩 프로젝트에서 EmbeddedReferenceJar 빌드 작업은 파일을 라이브러리에 포함 .jar 하지만 EmbeddedJar처럼 C# 바인딩을 만들지 않습니다. Android용 .NET 애플리케이션 프로젝트에서 라이브러리를 사용하는 경우 최종 Android 애플리케이션에 Java/Kotlin 코드가 포함됩니다.
JavaSourceJar
API 설명서를 가져와야 하는 Javadoc 설명서 주석이 포함된 Java 소스 코드를 .jar 나타냅니다.
Javadoc는 생성된 바인딩 소스 코드 내에서 C# XML 문서 주석으로 변환됩니다.
$(AndroidJavadocVerbosity)는 가져온 Javadoc가 얼마나 “자세한지” 또는 “완전한지”를 제어합니다.
| 항목 메타데이터 이름 | 설명 |
|---|---|
| CopyrightFile | 선택적 문자열입니다. 가져온 모든 설명서에 추가될 Javadoc 콘텐츠에 대한 저작권 정보가 포함된 파일의 경로입니다. |
| UrlPrefix | 선택적 문자열입니다. 가져온 설명서 내에서 온라인 설명서에 대한 연결을 지원하는 URL 접두사입니다. |
| UrlStyle | 선택적 문자열입니다. 온라인 설명서에 연결할 때 생성할 URL의 "스타일"입니다. 현재 developer.android.com/reference@2020-Nov 스타일 하나만 지원됩니다. |
| DocRootUrl | 선택적 문자열입니다. 가져온 설명서의 모든 {@docroot} 인스턴스 대신 사용할 URL 접두사입니다. |
LibraryProjectZip
이 빌드 항목은 더 이상 사용되지 않으며 AndroidLibrary 빌드 항목으로 대체됩니다.
<!-- Deprecated -->
<LibraryProjectZip Include="mylib.aar" />
<!-- Recommended -->
<AndroidLibrary Include="mylib.aar" />
LibraryProjectZip 빌드 작업은 Java/Kotlin 라이브러리를 바인딩하고 라이브러리에 .zip 또는 .aar 파일을 포함합니다. Android용 .NET 애플리케이션 프로젝트에서 라이브러리를 사용하는 경우 C#에서 Java/Kotlin API에 액세스할 수 있을 뿐만 아니라 최종 Android 애플리케이션에 Java/Kotlin 코드를 포함합니다.