2017-03-14 1 views
0

VSTS 및 HockeyApp를 통해 간단한 DevOps 설정이 있습니다. 여기에서 내 앱이 HockeyApp에 빌드, 패키지, 표지판을 배포하고 다운로드 할 수 있습니다. 하지만 그것은 내 물리적 장치에서 작동하지 않습니다!VSTS를 통해 생성 된 APK가 Galaxy S5를 실행하지 않습니다

동일한 응용 프로그램이 에뮬레이터 (VS 에뮬레이터)에서 실행됩니다. Visual Studio 2015를 통해 보관하면 물리적 장치에서도 실행됩니다.

VS를 통한 아카이브 작업과 관련된 정확한 단계는 무엇입니까? 나는 그것이 + 패키지 (APK) + 기호 + zipalign을 빌드하는 것이라고 생각했습니다. 그러나 APK는 VSTS (~ 20 MB)를 사용하여 생성 된 것보다 훨씬 더 큰 (~ 35 MB) 방법을 만들었습니다. 그래서 어떤 것이 어긋나고 무엇이 모르는가요?

두 프로젝트 (VS에서 보관 또는 VSTS를 통해 빌드)에서 동일한 프로젝트와 구성이 사용되므로 다른 빌드/서명/zipalign 프로세스의 무언가 여야합니다.

+0

항상 VSTS 작업을 비교할 수 있습니다 : https://github.com/Microsoft/vsts-tasks/tree/master/Tasks/XamarinAndroid 다른 일은'adb logcat'을 사용하여 실패한 것을 확인하는 것입니다 그러면 어떤 단계가 빠졌는 지 확인할 수 있습니다. 예를 들어 태스크가 빌드 단계 일 수 있고 별도의 서명/zipalign 태스크가 있기 때문에 아마도'.apk'에 서명하지 않을 수도 있습니다. https://www.visualstudio.com/en-us/docs/build/define/build –

답변

0

해결책을 찾았습니다. 문제는 내 솔루션과 프로젝트에서 서로 다른 빌드 구성으로 인한 것입니다.

내 솔루션에는 Core PCL과 Droid 프로젝트의 두 가지 프로젝트가 있습니다. 내 솔루션에는 PCL 용 ReleaseAzureQa와 Droid 용 Release에 매핑 된 구성 ReleaseAzureQa가 있습니다. 이것은 PCL이 최종 출시 목표를 염려하지만 Droid 프로젝트가 PCL과 대화를 나누기 때문에 발생하지 않기 때문입니다.

그러나 VSTS에서는 빌드가 Droid 프로젝트 용으로 설정되었으며 ReleaseAzureQa 구성으로 빌드했습니다. 흥미롭게도 빌드가 제대로 작동하는 것처럼 보였지만 모두 정상적으로 완료되었지만 결과 APK는 훨씬 작았습니다. 나는 Droid 프로젝트 만 포함하고 Core PCL은 포함하지 않는다고 추정합니다. 두 프로젝트 (즉 ReleaseAzureQa로 설정)에 맞게 구성을 정렬하면 모두 매력처럼 작동합니다.

관련 문제