我有一个旧应用程序,我最初使用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
答案 0 :(得分:1)
看起来你没有在该构建命令中指定ANDROID_KEY_NAME=...
环境变量。
ANDROID_KEY_NAME
应设置为您要使用的密钥的别名。要查看哪些键(及其别名值)可用,请从终端应用程序运行以下命令:
keytool -list -v -keystore /path/to/your/keystore.keystore