FC2ブログ
    03 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 05

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】keystore付けるとUnityでビルドできなくなったので、手でapkに署名をしたよー! 

    はい、こんにちは。坂内っす。

    最近ポケガ1で一部の端末で起きるバグがあるということで、修正をしました。
    (おかげ様でポケットガール1はリリースしてから丸3年経ちました。)

    そして、ビルドしようとしたら・・・・


    CommandInvokationFailure: Failed to sign APK package.
    C:\Users\XXXXXX\AppData\Local\Android\Sdk\build-tools\27.0.3\apksigner.bat sign --ks "C:\Users\XXXXXXX\Documents\UnityProject\〇〇〇〇/Assets/Editor/XXXXX.keystore" --ks-pass pass:"XXXXXXXX" --ks-key-alias "XXXXXXXX" --key-pass pass:"XXXXXXXX" "C:\Users\XXXXXXXX\Documents\〇〇〇〇\〇〇〇〇\Temp/StagingArea/Package.apk"

    stderr[
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    ]
    stdout[
    -Djava.ext.dirs=C:\Users\XXXXXXXX\AppData\Local\Android\Sdk\build-tools\27.0.3\lib is not supported. Use -classpath instead.
    ]
    exit code: 1
    UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)



    ふぁっきゅー!

    ビルドできねえーし!

    ってことで、色々AndroidSDKのバージョン変えたり、Build-toolsのバージョン変えたり、色々してもビルドができません。
    そして、1点わかったことは。

    「keystoreを外せばビルドができる」

    ぐあああああ それじゃリリースできねええんだよおおおお
    (ノ´□`)ノ ┫:・'∵:.┻┻:・'.:┣∵・:. ┳┳☆ピタッ☆

    ってことで、この状態が治らなかったため、違う方法でやることに。

    「署名なしでビルドして、あとから署名する」

    普通にUnityでやっていれば、こんなことならないとは思いますが、とりあえず記念的なメモとして書いておきます。

    ①Zipalignをする。
    詳しくはhttps://qiita.com/kazuqqfp/items/8eae69e309c6ed75d661

    zipalign -v -p 4 △△△△△△.apk 〇〇〇〇〇.apk

    ②署名をする。

    apksigner sign --ks □□□□□.keystore --v1-signing-enabled true --v2-signing-enabled true 〇〇〇〇〇.apk

    ③確認
    apksigner verify -v 〇〇〇〇〇.apk



    apksigner verify --print-certs 〇〇〇〇〇.apk


    どうなっていればいいのか分からないけど、
    ちゃんと「igner #1 certificate SHA-256 digest」「Signer #1 certificate SHA-1 digest:」「Signer #1 certificate MD5 digest:」に値が入っていればいいのかな?

    ①と②が成功すれば、ちゃんとUnityで出力した署名無しapkに署名をすることができます。

    現在ポケットガール1ver3.43はこの方法でリリースしました。


    いや、Unityでkeystore付けてビルドできるのが一番なんですけどね‥‥上記エラーの対処法わかる方いましたら、教えてくださいorz
    ってことで、今日はこれまで。あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/472-bc8ff76c
    この記事にトラックバックする(FC2ブログユーザー)