Android 合适的、旧密钥库不工作

Android 合适的、旧密钥库不工作,android,ios,xcode,apportable,Android,Ios,Xcode,Apportable,我有一个旧的应用程序,我最初使用Eclipse用Java编写。此后,我使用Xcode在Objective-C中重新创建了该应用程序。iOS应用程序更稳定,因此我尝试使用Apportable将其传输到Android。如果我创建了一个新的密钥库,我已经成功地创建了发行版APK,但是如果我尝试使用旧的密钥库,我会收到下面的错误消息。我已验证我使用的密码是否正确。谁能告诉我是什么问题吗 BUILD=release ANDROID_KEYSTORE=/Users/user.name/Dropbox

我有一个旧的应用程序,我最初使用Eclipse用Java编写。此后,我使用Xcode在Objective-C中重新创建了该应用程序。iOS应用程序更稳定,因此我尝试使用Apportable将其传输到Android。如果我创建了一个新的密钥库,我已经成功地创建了发行版APK,但是如果我尝试使用旧的密钥库,我会收到下面的错误消息。我已验证我使用的密码是否正确。谁能告诉我是什么问题吗

    BUILD=release ANDROID_KEYSTORE=/Users/user.name/Dropbox/Apportable/Game\ Game/Game.keystore ANDROID_KEYSTORE_PASS=password apportable build
....
        [339/339] Building Build/android-armeabi-release/FarmingGame/FarmingGame-release.apk
        FAILED: java -jar /Users/user.name/.apportable/SDK/toolchain/macosx/zipbuilder/zipbuilder.jar --zipalign 4 --keystore '/Users/user.name/Dropbox/Apportable/Farming Game/ConstructionKey.keystore' --storepass "$ANDROID_STOREPASS" --keyalias mykey --keypass "$ANDROID_KEYPASS" --cafe-marker -- /Users/user.name/.apportable/SDK/Build/android-armeabi-release/FarmingGame/FarmingGame-release.apk /Users/user.name/.apportable/SDK/Build/android-armeabi-release/FarmingGame/FarmingGame-release.apk.input_list
        Exception in thread "main" java.lang.NullPointerException
            at com.apportable.zipbuilder.JarSigner.generateSignatureBlock(JarSigner.java:138)
            at com.apportable.zipbuilder.JarSigner.signOutputJar(JarSigner.java:55)
            at com.apportable.zipbuilder.Main.main(Main.java:153)
        ninja: build stopped: subcommand failed.
        Error: command failed: /Users/user.name/.apportable/SDK/toolchain/macosx/ninja/ninja --no-strip-ansi-escapes -j 16 /Users/user.name/.apportable/SDK/Build/android-armeabi-release/FarmingGame/FarmingGame-release.apk

看起来您没有在该build命令中指定
ANDROID\u KEY\u NAME=…
环境变量

ANDROID\u KEY\u NAME
应设置为要使用的密钥的别名。要查看哪些键(及其别名值)可用,请从终端应用程序运行以下命令:


keytool-list-v-keystore/path/to/your/keystore.keystore

我运行了建议的命令(keytool-list-v-keystore/Users/user.name/Dropbox/Apportable/Game\Game/Game.keystore)它确实显示了密钥库信息。这基本上就是它显示的内容:密钥库类型:JKS密钥库提供程序:SUN您的密钥库包含1个条目别名:myname创建日期:2012年10月25日条目类型:PrivateKeyEntry证书链长度:1个证书[1]:所有者:CN=Ryan Tensmeyer发行人:CN=Ryan Tensmeyer序列号:xxxxxxxx有效期:2012年10月25日星期四23:51:57 MDT至:2012年8月26日星期二23:51:57 MDT 2262证书指纹:MD5:XX:XX:XX:XX:XX:XX:SHA1:XX:XX:XX:XX:XX签名算法名称:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX版本:3扩展名:1:ObjectId:X.X.XX.XX关键性=错误SubjectKeyIdentifier[KeyIdentifier[0000:XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX…(n…,gt..r.0010:XX XX XX XX XX XX XX XX XX…H]]当我这样做时仍然失败:BUILD=release ANDROID\u KEYSTORE=/Users/user.name/Dropbox/Apportable/Farming\Game/release.KEYSTORE ANDROID\u KEY\u name=myname ANDROID\u KEYSTORE\u PASS=password Apportable BUILD我的错误。我用的是新的密钥库和旧的别名。下面是旧的密钥库和旧的别名,它现在似乎正在工作。谢谢!