2017-10-13 7 views
0

私のアプリのテストを構築しようとしています。私はアプリをビルドするとき、私は次のエラーUntiy 2017.2.0f3:cant build android apkエラー:CommandInvokationFailure:APKパッケージに署名できません。

CommandInvokationFailure: Failed to sign APK package. 
C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.2\apksigner.bat sign --ks "D:/Programming/UnityProjects/MobileProject-resortTycoon/user.keystore" --ks-pass stdin --ks-key-alias "test123" --key-pass stdin "D:\Programming\UnityProjects\MobileProject-resortTycoon\Temp/StagingArea/Package.apk" 

stderr[ 
Error: keywords 'java|openjdk version' not found in 'picked up java_tool_options: -df' 
Error: keywords 'java|openjdk version' not found in 'picked up java_tool_options: -df' 
Failed to load signer "signer #1" 
java.io.IOException: Invalid keystore format 
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658) 
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56) 
    at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224) 
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70) 
    at java.security.KeyStore.load(KeyStore.java:1445) 
    at com.android.apksigner.ApkSignerTool$SignerParams.loadKeyStoreFromFile(ApkSignerTool.java:829) 
    at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCertsFromKeyStore(ApkSignerTool.java:719) 
    at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCerts(ApkSignerTool.java:659) 
    at com.android.apksigner.ApkSignerTool$SignerParams.access$500(ApkSignerTool.java:611) 
    at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:266) 
    at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89) 
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 
] 
stdout[ 
Keystore password for signer #1: 
] 
exit code: 2 
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) 
UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg, System.String[] input) 
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, System.String[] stdin) 
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.SignPackage (UnityEditor.Android.PostProcessor.PostProcessorContext context) 
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) 
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) 

を取得し、私はすでにAndroidのSDKを再インストールし、最新バージョンに更新し、別のAndroidのバージョンをダウンロードして、代わりに内部の新しいのGradleを使用してみました。何も働かなかった。解決策を探して2日後、私はまだこれを修正する方法を知らない。誰か助けてくれますか?どうもありがとう!

+0

誰もいない誰も私を助けることができない? –

答えて

0

私は私の問題を解決することができました。 Java JDKをインストールすると、2つのフォルダがインストールされました。 Unityは自動的に "jdk-9"という1つのフォルダを選択しました。私はそれを "jdk1.8.0_131"に変更したとき、私は自分のアプリケーションを構築することができました。

これがなぜこのように動作するのか分かっているなら、私は知っていて嬉しいです!

0

sdkではなくキーストアに問題があるようです。キーストアが何であるか分かっているかどうかわかりません。

キーストアは、アプリケーションの「パスワード」のように機能するファイルです。たとえば、Googleのゲームでは、アプリと同じキーストアで更新が署名されていない限り、アプリを更新することはできません。あなたが何をしても、あなたのアプリを公開した後でキーストアを失うことはありません。

あなたはジェットは、あなたが団結内の1つの生成することができ、あなたのアプリのためのキーストア生成していない場合:あなたはすでにそれが最も可能性が高い何とか破損したキーストアを使用している場合はhttps://forum.unity.com/threads/android-signing.62137/

を。どこかでアプリを公開していれば、バックアップがあることを願っています。新しいキーストアを生成するだけではない場合は、

+0

お返事ありがとうございます。私は新しいキーストアを作った。すべてを埋める。私はこの後apkを構築しようとしたが、それでも私にエラーが出た。キーストアがassetsフォルダにない場合は問題ですか? –

関連する問題