私はXamarinフォームプロジェクトを構築している単純なバッチスクリプトを持っています。マシン上で手動で実行すると動作しますが、Jenkinsによるビルドステップとして実行しようとすると失敗します。次のエラーが表示されます。JenkinsがAndroid SDKを見つけられないのはなぜですか?
Did not find Android SDK
C:\Program Files x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(567,2):
error XA5205: The Android SDK Directory could not be found.
Please set via/p:AndroidSdkDirectory
.
私はすべての環境変数が正しく設定されていることを確信しています。
PATHは私も同様C:\Program Files\Android\android-sdk
にANDROID_HOMEセットを持って
C:\Program Files\Android\android-sdk
を含んでいます。私は/p:AndroidSdkDirectory
(これは私が今やっている予定)で設定していませんが、なぜそれが見つからないのかに興味があります。PATHまたはANDROID_HOMEどんな助けでも大歓迎です!ありがとう!
EDIT:
私のバッチファイル:
SET projectPath=%1
SET projectName=%2
SET keystorePath=%3
SET password=%4
SET alias=%5
SET config=%6
SET apkName=%7
msbuild %projectPath%\%projectName% /p:Configuration=%config% /t:Clean
msbuild %projectPath%\%projectName% /p:Configuration=%config% /t:PackageForAndroid /p:AndroidSdkDirectory="C:\Program Files\Android\android-sdk"
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore %keystorePath% -storepass %password% -signedjar %projectPath%\bin\%config%\com.company.helloworld-signed.apk %projectPath%\bin\%config%\com.company.helloworld.apk %alias%
zipalign -f -v 4 %projectPath%\bin\%config%\com.company.helloworld-signed.apk %projectPath%\bin\%config%\%apkName%.apk
私のシステム変数:
ANDROID_NDK_PATH "C:\Program Files\Android\android-ndk-rl3b"
ANDROID_SDK_HOME "C:\Program Files\Android\android-sdk"
ComSpec C:\Windows\system32\cmd.exe
SDK_HOME C:\Program Files\Java\jdk1.8.0_121
NUMBER_OF_PROCESSORS 4
OS Windows_NT
私のシステムPATH
:
C:\ProgramData\Oracle\Java\javapath
%SystemRoot%\system32
%SystemRoot%
%SystemRoot%\System32\Wbem
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static
C:\Program Files (x86)\Skype\Phone\
%USERPROFILE%\.dnx\bin
C:\Program Files\Microsoft DNX\Dnvm\
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit
C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
C:\Program Files\Perforce
C:\Program Files\Perforce\DVCS\
C:\Program Files (x86)\MSBuild\14.0\Bin
C:\Program Files\Java\jdk1.8.0_121
C:\Program Files\Android\android-sdk
C:\Program Files\Java\jre1.8.0_121\bin
C:\Program Files\Java\jdk1.8.0_121\bin
C:\Program Files\Android\android-sdk\build-tools\25.0.2
JenkinsをWindowsサービスとしてインストールしました。
私は/ p:AndroidSdkDirectoryを追加した後にsdkを見つけましたが、今はzipalignが見つかりません。 JenkinsがシステムPATHを使用する際に問題が発生するのはなぜですか? –
ビルドステップでPATHを表示すると、正しい変数のように見えます。 –
したがって、コンピュータを再起動するとzipalignが見つかり、/ p:AndroidSdkDirectoryを使用すると正しくビルドされます。私はまだJenkinsからビルドするときに、なぜローカルではなく、そのargを使用する必要があるのか混乱しています。どんな助けもまだ評価されます。 –