无法在使用我自己的密钥库(corona sdk)签名的 Android 上安装 .apk

Posted

技术标签:

【中文标题】无法在使用我自己的密钥库(corona sdk)签名的 Android 上安装 .apk【英文标题】:Cannot install .apk on Android signed with my own keystore (corona sdk) 【发布时间】:2013-12-24 12:05:58 【问题描述】:

当我使用 android 调试密钥时,一切正常,但今天我正准备发布我的游戏,并使用此命令创建了自己的密钥库:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

我正在使用本指南:http://developer.android.com/tools/publishing/app-signing.html

当我使用此密钥库签署应用程序时,我无法将其安装在我的 Android 设备上。 我只是收到无法安装应用程序的错误(是的,我在安装前删除了旧应用程序)。

请帮忙!

附:我不知道它是否重要,但我尝试过java 6和7的keytool,效果是一样的。

【问题讨论】:

试试这个命令来验证apk的签名:jarsigner -verify -verbose -certs my_application.apk 它正在工作。问题是我必须使用相同的名称和别名。 【参考方案1】:

使用此代码生成您的密钥库:

keytool -genkey -v -keystore mykeystore.keystore -alias aliasname -keyalg RSA -validity 999999

如果仍未安装,您的设备可能不是 ARAM v7 处理器或可能没有 Android 2.2。此外,您的 build.settings 或 config.lua 文件中可能存在错误,会破坏安装。您是否尝试过使用 ADB 安装 APK?通常ADB会在安装时让您知道错误是什么。使用./adb install your.apk,运行游戏时使用./adb logcat调试游戏。

【讨论】:

logcat 说:12-07 13:01:25.935:E/PackageParser(2259):包 pl.mk.GoldFish 在 AndroidManifest.xml 入口处没有证书;无视!我有三星 Galaxy S3 和 android 4.1。我也尝试通过 adb 安装:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

以上是关于无法在使用我自己的密钥库(corona sdk)签名的 Android 上安装 .apk的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins无法签出Git存储库 - 主机密钥验证失败

推送通知自定义图标和大图 Corona sdk

如何使用 Corona SDK 在单个页面上加载超过 32 种声音

场景和群组使用Lua和Corona SDK时出现问题

corona sdk / solar2d 多个移动物体

在Corona SDK中为tileset生成等距网格