我有一個用PowerShell編寫的需要簽名Android APK的生成腳本。無法找到或加載主類sun.security.tools.jarsigner.Main
task PackageForAndroid -Description "Get the Android apk ready for deployment" {
if (! (Test-Path env:JAVA_HOME)) {
Write-Host "Please install the Java JDK and set your JAVA_HOME environment variable."
exit 1
}
$javaHome = (Get-Item env:JAVA_HOME).Value
Exec { & "$javaHome\bin\jarsigner.exe" -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore $buildDir/certs/cosmicgame.keystore -signedjar $buildOutputDir/$androidApkName-signed.apk $buildOutputDir/$androidApkName.apk cosmicgame } "Signing the Android apk Failed"
# Now zipalign it. The -v parameter tells zipalign to verify the APK afterwards.
Exec { & "$buildDir\modules\zipalign.exe" -f -v 4 $buildOutputDir/$androidApkName-signed.apk $buildArtifactsDir/$androidApkName.$version.$buildNumber.apk } "Zipaligning the Android apk Failed"
}
當我檢查的$javaHome = (Get-Item env:JAVA_HOME).Value
輸出我得到合適的路徑(C:\Program Files\Java\jre7
)。
當我導航到bin目錄時,jarsigner.exe
就在那裏。
我已經更新了我的Android SDK以包含最新的內容,並且我已經將JAVA更新到最新版本。
什麼會導致此錯誤?
Error: Could not find or load main class sun.security.tools.jarsigner.Main