Xamarin.Android.Support 패키지에 필요한 Android 지원 라이브러리를 수동으로 설치하려면 어떻게 할까요?
Xamarin.Android.Support.v4의 단계 예
원하는 Xamarin.Android.Support NuGet 패키지를 다운로드합니다(예: NuGet 패키지 관리자를 사용하여 설치).
ildasm
을 사용하여 NuGet 패키지에 필요한 android_m2repository.zip 버전을 확인합니다.
ildasm /caverbal /text /item:Xamarin.Android.Support.v4 packages\Xamarin.Android.Support.v4.23.4.0.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll | findstr SourceUrl
예제 출력:
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
ildasm에서 반환된 URL을 사용하여 Google에서 android_m2repository.zip 다운로드합니다. 또는 현재 Android SDK Manager에 설치되어 있는 Android 지원 리포지토리 버전을 확인할 수 있습니다.
이 버전이 NuGet 패키지에 필요한 버전과 일치한다면 새로 다운로드할 필요가 없습니다. 대신 SDK 경로의 extras\android아래에 있는 기존 m2repository 디렉터리를 다시 압축할 수 있습니다(Android SDK 관리자 창의 맨 위에 표시됨).
ildasm에서 반환된 URL의 MD5 해시를 계산합니다. 모두 대문자를 사용하고 공백을 사용하지 않도록 결과 문자열의 형식을 지정합니다. 예를 들어 필요에 따라 $url
변수를 조정한 다음, PowerShell에서 다음 2줄(Xamarin.Android의 원본 C# 코드 기반)을 실행합니다.
$url = "https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip"
(([System.Security.Cryptography.MD5]::Create()).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($url)) | %{ $_.ToString("X02") }) -join ""
예제 출력:
F16A3455987DBAE5783F058F19F7FCDF
%LOCALAPPDATA%\Xamarin\zips\ 폴더에 android_m2repository.zip 복사합니다. 이전 MD5 해시 계산 단계의 MD5 해시를 사용하도록 파일의 이름을 바꿉니다. 예시:
%LOCALAPPDATA%\Xamarin\zips\F16A3455987DBAE5783F058F19F7FCDF.zip
(선택 사항) 파일의 압축을 %LOCALAPPDATA%\Xamarin\Xamarin.Android.Support.v4\23.4.0.0\content\(content\m2repository 하위 디렉터리 만들기)로 압축을 풉니다. 이 단계를 건너뛰면 라이브러리를 사용하는 첫 번째 빌드에서 이 단계를 완료해야 하기 때문에 시간이 좀 더 오래 걸립니다.
하위 디렉터리의 버전 번호(이 예에서는 23.4.0.0)는 NuGet 패키지 버전과 동일하지 않습니다. ildasm
을 사용하여 올바른 버전 번호를 찾을 수 있습니다.
ildasm /caverbal /text /item:Xamarin.Android.Support.v4 packages\Xamarin.Android.Support.v4.23.4.0.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll | findstr /C:"string 'Version'"
예제 출력:
property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}
다음 단계
이 문서에서는 2016년 8월 현재 동작에 대해 설명합니다. 이 문서에서 설명하는 기법은 안정적인 Xamarin용 테스트 도구 모음의 일부가 아니므로 나중에 중단될 수 있습니다.
추가 지원이 필요하면 Microsoft에 문의하고, 위의 정보를 참조한 후에도 이 문제가 계속 발생하는 경우 Xamarin에 사용할 수 있는 지원 옵션은 무엇인가요?에서 문의 옵션, 제안 사항 및 필요한 경우 새 버그를 보고하는 방법에 대한 정보를 참조하세요.