2017-03-14 5 views
0

私はVSTSとHockeyAppを使って甘いDevOpsをセットアップしています。私のアプリはHockeyAppにビルド、パッケージ、看板、デプロイを行い、ダウンロードできます。しかし、それは私の物理的なデバイス上で実行されません!VSTSを介して作成されたAPKはギャラクシー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もう1つのことは、 'adb logcat'を使って失敗していることを確認することですあなたは欠けているステップを特定することができます。たとえば、タスクがビルドステップであり、別の署名/ zipalignタスクがあるため、おそらく '.apk'に署名していません。 https://www.visualstudio.com/en-us/docs/build/define/build –

答えて

0

解決策が見つかりました。この問題は、私のソリューションとプロジェクトのビルド構成が異なることが原因でした。

私のソリューションには、Core PCLとDroidプロジェクトという2つのプロジェクトがあります。私のソリューションは、ReleaseAzureQaをReleaseAzureQaにマッピングし、PCLとReleaseをDroidにマッピングしました。これはPCLが最終リリースのターゲットを気にしていたからだが、DroidプロジェクトはPCLと話をして以来ではない。

しかし、VSTSでは、Droidプロジェクト用にビルドが設定されており、私はReleaseAzureQa設定で構築していました。面白いことに、ビルドがうまくいっているように見えましたが、すべて正常に完了しましたが、結果として得られるAPKはずっと小さくなりました。私はそれがコアPCLではなくDroidプロジェクトのみを含んでいたと推測します。両方のプロジェクトに一致するように構成を調整したら(つまり、ReleaseAzureQaに設定する)、すべて魅力的に機能しました。

関連する問題