2014-04-28 2 views
3

내 회사는 Xamarin.Android에 대한 여러 비즈니스 라이센스를 소유하고 있으며이를 CI 서버에서 사용하고 싶습니다. 그러나이 작업을 수행하려면 Visual Studio Pro를 포함한 CI 서버에 전체 Xamarin 제품군을 설치해야합니다. 내 질문은, 바닐라 Xamarin.Android 패키지를 사용하여 어떻게 활성화 할 수 있습니까?CI 서버에서 사용할 Xamarin.Android를 어떻게 활성화 할 수 있습니까?

자체적으로 설치하면 Xamarin.Android 도구와 라이브러리가 추가되어 빌드 할 수 있지만 찾을 수있는 방법이 없으므로 MSBuild를 사용하여 빌드하려고하면이 빌드가 실패합니다 오류 :

이제

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(299,2): error XA9008: Building from the command-line requires aÿBusinessÿLicense.

, 일부 인터넷 검색 후, 나는 C에서 발견 될 수있는 활성화 도구 "mandroid.exe"이라고 것으로 나타났습니다 : \의 Program Files (x86) \ MSBuild를 \ 자 마린 \ 안드로이드 - 비록 내가 64 비트 프로그램 파일에있는 이것에 대한 참조를 찾았지만.

불행히도이 도구에 대한 적절한 문서를 찾을 수 없습니다. 누군가가 이것을 토론하는 스레드를 찾을 때마다 Xamarin의 누군가가 "[email protected]에 문의하십시오"라고 말합니다. 잠시 후 나는 2 일 (업무 일 기준) 후에도 응답이 없으며 만날 마감 기한이 있으므로 공개적으로이 프로세스를 문서화하는 것이 모든 사람들에게 도움이 될 수 있다고 생각했습니다.

내가 찾은 가장 좋은 것은이 호출 참조하는 thread on the Xamarin mailing list에서 온다 :

mandroid.exe --activate --name "NAME" --company "COMPANY" --email "EMAIL" --phone "PHONE" --code "ACTIVATION CODE"

나는이 모양이 호출의 또 다른 변종 발견했다 :

.\mandroid.exe –activate –activation-name="NAME" –activation-phone="PHONE" –activation-company="COMPANY" –activation-code="CODE" –activation-email="EMAIL"

나 '를 Xamarin 스토어의 products page에있는 정품 인증 코드를 사용하여 두 가지 호출을 모두 사용하여 계정 데이터의 여러 순열을 시도했습니다. 그래도 문제가 발생하면 다음 오류가 발생합니다.

\mandroid.exe : monodroid: error XA9997: Incomplete data provided to complete activation

"활성화 중 문제가 있습니까?" 제품 페이지의 섹션,이 말한다 :

In Mono for Android 1.0.21316 and later, if activation within Visual Studio fails then a MfaActivation.dat file will be created within the Documents folder. Select this file below.

아마도 mandroid.exe에 의해 생성되는이 파일을 강제로 어떤 방법이? 그것은 매우 도움이 될 것입니다. 오프라인 작업이이 작업을 수행하는 유일한 방법이라고 생각하지만 MfaActivation.dat를 업로드하거나 온라인 정품 인증 기계를 호출하는 것과 관련된 모든 대답을 수락합니다.

자 마린 문서에서

답변

2

업데이트, 잘못 될 수 - 내가 아래 단계가 더 이상 작동하지 두려워 해요. Xamarin은 새로운 버전의 다른 방법으로 정품 인증 시스템을 업데이트했습니다.

결국 저는 Chef 구성의 일부로 Xamarin Studio를 설치하고 관리자에게 새로운 빌드 노드를 생성하는 과정에서 수동으로 소프트웨어를 활성화하도록 지시했습니다. 리버스 엔지니어를 고치려고하는 행운이 없었고, 그렇게했다면 아마 다시 깨질 것입니다.


사실 거의 맞았습니다. 필자가 지정한 두 번째 호출은 실제로이 명령을 호출하는 올바른 방법이지만 일부 블로그 소프트웨어에서는 -- 부분이 분명히 토큰으로 변환되었습니다.

--activate 동사는 Xamarin의 서버로 온라인 활성화를 수행하므로 인터넷 연결없이 어떻게 할 수 있을지 잘 모릅니다.

mandroid.exe -v --activate --activation-name "(NAME)" --activation-phone "(PHONE_" --activation-email "(EMAIL)" --activation-company "(COMPANY)" --activation-code "(CODE)"

나는 -v 스위치의 중요성에 대해 잘 모르겠지만, 문제가 있다면 아마도 그게 출력 디버깅 정보를 만들 것 :

는 참고로, 여기에 내가 그것을 한 방법이다.

products page에 지정된대로 정확하게 모든 정보를 입력해야합니다. 라이센스 중 하나를 선택하고 "문제가 활성화됩니까?"를 선택하십시오. 그러나 매개 변수에 라이센스를 소유 한 사용자 인 매개 변수와 일치해야하는 라이센스 사용자 이름을 입력해야합니다.

이 일 후에는 종료 코드를 반환 --activated 스위치 mandroid 호출 할 수 있습니다

PS> & .\mandroid.exe --activated 
PS> $LastExitCode 
0 
또한 제품의 페이지를 다시로드 할 수 있으며 당신이 선택한 사용자에 대한 라이센스를 가지고 있음을 볼 수

그것에 등록 된 새 컴퓨터.

다른 활성화를 사용하지만 지원 팀에게 전자 메일을 보내면 빌드 서버 계약서에 서명 할 수 있으며 빌드 노드에 추가 활성화를 설정할 수 있다고 가정합니다.

며칠 동안 내 시간을 낭비했기 때문에 이것이 더 잘 설명되지 않았다는 것은 수치스러운 일입니다. 다행히도 이것은 같은 상황에있는 다른 누군가에게 도움이되기를 바랍니다.

0

, 우리가

http://docs.xamarin.com/guides/cross-platform/ci/configuring_tfs/

"Visual Studio Professional (or greater) must be installed on the Team Foundation Server along with licensed copies of Xamarin.Android and Xamarin.iOS to support development of Android and iOS mobile applications via the Team Foundation Server."

을 볼 수 있습니다 그래서 모든 경우에 당신이 VS + 자 마린 제품 설치 및 활성화가 필요가 있다고 가정합니다. 가장 좋은 방법은 자 마린 지원 센터에 문의하는 것입니다, 그래서

나는 http://xamarin.com/support

+0

정말 끔찍한 일이 아니기를 바랍니다. 찾기 주셔서 감사합니다, 나는 그 링크를 놓친 것 같습니다. –

+0

프로젝트를 빌드하기 위해 VS와 Xamarin을 설치해야한다는 사실을 어리석은 짓. 이러한 개발자는 Adobe에서 무료로 컴파일러를 사용하여 Flex IDE를 완전히 구축하고 클래스 및 SWC 리소스 파일을 제공함으로써 Adobe에서 얻은 교훈을 받아야합니다. – Triynko

+0

@Triynko하지만 Xamarin은 남아 있지만 Flex는 죽었습니다. Adobe는 금이 가기 위해 일부 제품을 수용 할만큼 충분히 풍부하지만 모든 회사가 그런 식으로 생존 할 수있는 것은 아닙니다. –

관련 문제