我忘记了我的密钥库密码,我不知道该怎么办(我不能或不会给它任何借口).我想更新我的应用程序,因为我刚刚修复了一个错误,但它不再可能.如果我使用相同的密钥库但创建新密钥会发生什么?我是否仍然可以更新应用程序,如果不可能,我该如何向用户提供有关更新版本的信息?
如果有人遇到这样的问题或遇到过麻烦,你可以给出什么建议来帮助纠正这种情况?幸运的是,它是一个免费的应用程序.
ElD*_*239 172
刚刚遇到这个问题 - 幸运的是我能够在一些Gradle的临时文件中找到密码.万一有人落在这里,试着寻找
..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin
or
.gradle/3.5/taskHistory/taskHistory.bin
.gradle/5.1.1/executionHistory/executionHistory.bin
.gradle/caches/5.1.1/executionHistory/executionHistory.bin
Run Code Online (Sandbox Code Playgroud)
它是以明文形式存在的.一般情况下,如果您确实记住了密码的至少一部分,请尝试搜索包含此子字符串的文件,并希望您能找到一些东西.
想把它扔出去,也许最终会帮助别人.
小智 41
如果提供了错误的密码,即使只是一次,它会继续说下次尝试:
密钥库被篡改或密码不正确.
即使你提供了正确的.我试了几次,也许是某种保护.
关闭导出向导并使用正确的密码重新启动它,现在它可以工作:)
Art*_*tur 36
Brute是你最好的选择!
这是一个帮助我的脚本:
https://code.google.com/p/android-keystore-password-recover/wiki/HowTo
你可以选择给它一个密码可能包含的单词列表,以便快速恢复(对我而言,它在<1秒内工作)
kir*_*wka 17
事实上,失去这keystore password不是一个问题.
您可以使用以下keytool命令创建新的密钥库并为其设置新密码.您不需要原始密钥库密码:
keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore
当提示,为您创建的密码new.keystore及源库密码(你丢失)刚打回车.
您将收到有关未检查完整性的警告,并且您将使用新设置的密码将new.keystore与原始内容相同.
其工作原理keystore password仅用于提供完整性keystore,它不会使用它加密数据,相反private key password,它实际上保护您的私钥加密.
请注意,您必须知道要private key password对自己的应用进行签名.好吧,如果它与被遗忘的相同,keystore password那么你可以像@ Artur的答案那样求助于暴力.
这种方法总是对我有用.
Arj*_*n G 17
最后我花了两天后找到了解决方案......
跟着这些步骤:
这真的对我有用.
试试这个和快乐的编码!
Gue*_*gon 13
我觉得我需要回答这个问题,因为这不仅仅是在评论中.就像@ ElDoRado1239在他的回答中所说的那样(别忘了回答他的回答;)
..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin在我的情况下寻找是..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.bin因为我使用gradle 2.2.1storePassword像@Moxet Khan在评论中说...在我的情况下是在线signingConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias希望能帮助别人!!!
小智 12
幸运的是,我在Android工作室日志中找到了丢失的密码以及密钥库路径和别名.
如果您正在运行基于Linux/Unix的计算机.
导航到Library Logs目录
cd ~/Library/Logs/
Run Code Online (Sandbox Code Playgroud)
在那里,如果你还记得你用来构建最后一个版本APK的android工作室版本.导航到该目录
例如:cd AndroidStudio1.5 /
在那里你会找到日志文件.在任何日志文件(idea.log)中,您都可以找到密钥库凭据
例
-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks,
-Pandroid.injected.signing.store.password=mystorepassword,
-Pandroid.injected.signing.key.alias=myandroidkey,
-Pandroid.injected.signing.key.password=mykeypassword,
Run Code Online (Sandbox Code Playgroud)
我希望这对Android Studio用户有帮助
Gha*_*yma 11
它可能有点迟,但它会帮助某人肯定你可以搜索密码,如果你还记得一些东西,否则尝试搜索
signingConfig.storePassword
如果你忘记了密钥别名,你也可以在这里找到像signatureConfig.keyAlias这样的东西
Project.gradle\3.3\taskArtifacts\taskArtifacts.bin
希望它会帮助某人
小智 10
解决方案2019(Windows,Android Studio 3.3,gradle 4.10):
仅当先前标记了“记住密码”复选框时,此解决方案才有效。
首先,此版本的gradle不存在taskArtifacts.bin,idea.log显示密码的星号。过去的解决方案对我不起作用。
在哪里找到明文密码:C:\ Users \ {用户名} \ AndroidStudioProjects \ {project} \ app \ build \ intermediates \ signing_config \ release \ out \ signing-config.json
密钥:mStorePassword和mKeyPassword。
我真的希望它能帮助其他人。
对于任何可能遇到此问题的人,我想分享一个答案,可能是您或浏览本文的其他人(如我自己).
我正在使用Eclipse并在其1.0版本中创建了我的密钥库.快进3个月,我想将其更新为1.1.当我在Eclipse中选择Export ...并选择了该密钥库时,我记不起的任何密码都没有.每次它说"密钥库被篡改或密码不正确". 它达到了一个点,我准备在它上面运行一个暴力程序,只要我能站立(一个星期左右)试图让它工作.
幸运的是,我在Eclipse之外签署了我的未签名.apk文件.瞧 - 它有效!我的密码一直都是正确的! 我不确定为什么,但是通过导出菜单在Eclipse中签名即使我的密码正确也报告错误.
所以,如果你收到这个错误,这里是我的步骤(取自Android文档),以帮助你准备好市场的apk.
注意:要从Eclipse获取未签名的apk:右键单击项目> Android工具>导出未签名的应用程序
使用密钥库签署未签名的apk文件
一个.打开管理员cmd提示符并转到"c:\ Program Files\Java\jdk1.6.0_25\bin"或您拥有的任何java版本(您已复制未签名的apk文件和密钥库)
湾 在cmd提示符下使用密钥库文件和同一目录中的unsigned apk,输入以下命令:jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore
C.它会说:"为密钥库输入Passphrase:".输入它并按Return键.
d.===>成功如下:
adding: META-INF/MANIFEST.MF
...
signing: classes.dex
Run Code Online (Sandbox Code Playgroud)
即 未签名的版本将被覆盖,因此您签名的apk文件现在与未签名的文件名相同
使用ZipAlign压缩已签名的apk文件以便在市场中分发
一个.打开admin cmd提示符并转到"c:\ AndroidSDK\tools"或安装Android SDK的任何位置
湾 输入以下命令:zipalign -v 4 signed.apk signedaligned.apk
C.===>成功如下:
Verifying alignment of signedaligned.apk (4)
50 META-INF/MANIFEST.MF (OK - compressed)
...
1047129 classes.dex (OK - compressed)
Verification succesful
Run Code Online (Sandbox Code Playgroud)
d.签名和对齐的文件位于signedaligned.apk(您在上一个命令中指定的文件名)
========>准备提交给市场
小智 9
花了将近一天的时间研究在Android Studio中恢复丢失的密钥库密码的可能选项.我找到了以下4种可能的方法:
使用AndroidKeystoreBrute检索您的密码.当您部分忘记密码意味着您仍然有一些密码提示时,此方法非常有用.
如果您之前已使用同一台计算机发布了应用程序(您为其找到密钥库密码),则还可以通过Android Studio日志文件检索它.请参阅以下目录:
Mac OSX
〜/资源库/日志/ AndroidStudio/idea.log.1
Linux(可能的位置)
/家庭/ USER_NAME/AndroidStudio /系统/日志
Windows(可能的位置)
C:\ Users \用户名\ AndroidStudio\SYSTEM \日志
并Pandroid.injected.signing.key.password在文件内搜索.如果您之前使用当前正在查找的相同Android Studio版本对应用程序进行了签名,则会看到密码.
您还可以通过项目的.gradle目录检索密码.寻找以下路径
project_directory/.gradle/2.4/taskArtifacts/taskArtifacts.bin.
注意:这似乎不适用于较新版本的Gradle(2.10及更高版本).
如果以上解决方案都不起作用,那么你可以尝试这个,但是对于这个解决方案,你必须拥有Android Studio IDE应用程序或它的先前已保存项目密钥库密码的首选项(在签名时使用记住密码选项)应用程序).您可以从以下路径获取IDE首选项:
Mac OSX
〜/资源库/日志/ AndroidStudio/idea.log.1
Linux(可能的位置)
/家庭/ USER_NAME/AndroidStudio
Windows(可能的位置)
C:\用户\用户名\ .AndroidStudio
如果您拥有旧IDE,或者将旧IDE的首选项导入到新IDE中,并将密钥库文件放在以前签名时的路径上,并保存密码,请使用较旧的Android Studio IDE.
这样,一旦打开项目并尝试Build-> Generate Signed APK并从旧位置选择密钥库文件.它将自动检索密码并继续生成已签名的APK以供发布.
一旦发布APK成功生成,您可以按照前面提到的选项2从您的日志文件中检查您最近生成的发布APK的密码.
小智 8
获取密钥库密码的最简单方法
project_folder\app\build\intermediates\signing_config\release\out\signing-config.json
在signing-config.json 中查看此文件搜索StorePassword
{"mName":"externalOverride","mStoreFile":"C:\\Users\\dAvInDeR\\Desktop\\KEYSTORE\\keystore.jks","mStorePassword":"1234@#abcd","mKeyAlias":"uploadkey","mKeyPassword":"1234@#abcd","mStoreType":"jks","mV1SigningEnabled":false,"mV2SigningEnabled":false}
Run Code Online (Sandbox Code Playgroud)
完全希望它能帮助你。
我很惊讶没有人提到这一点,但您可以转到 Google Play 开发者支持,他们将与您一起创建一个新的上传密钥:
https://support.google.com/googleplay/android-developer/contact/otherbugs
我填写了一个问题,他们在 1 天内联系了我。
更新:按照他们的电子邮件说明,我能够创建一个新的上传密钥,并在几天后启用!问题解决了。
将此添加为另一种可能性。答案可能就在您的鼻子下-如果您曾经在某个时候指定过签名配置,则在应用程序的build.gradle文件中:
signingConfigs {
config {
keyAlias 'My App'
keyPassword 'password'
storeFile file('/storefile/location')
storePassword 'anotherpassword'
}
}
Run Code Online (Sandbox Code Playgroud)
你感到幸运吗?
| 归档时间: |
|
| 查看次数: |
135943 次 |
| 最近记录: |