Android 中Failed to read key from keystore解决办法

Android 中Failed to read key from keystore解决办法

Caused by: org.gradle.tooling.BuildException: Failed to read key from keystore
    at com.android.build.gradle.tasks.PackageApplication.doFullTaskAction(PackageApplication.groovy:110)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:64)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactor
y.java:235)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.jav
a:211)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.
java:222)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.jav
a:200)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 47 more
Caused by: com.android.builder.packaging.SigningException: Failed to read key from keystore
    at com.android.builder.core.AndroidBuilder.packageApk(AndroidBuilder.java:1468)
    at com.android.builder.core.AndroidBuilder$packageApk$6.call(Unknown Source)
    at com.android.build.gradle.tasks.PackageApplication.doFullTaskAction(PackageApplication.groovy:95)
    ... 55 more

build.gradle

signingConfigs {
  robert {
    storePassword 'robert'
    storeFile file('/Users/bournewang/Documents/Project/android.keystore')
    keyPassword 'robert'
    keyAlias 'mike'
  }
}

解决方案:

Check your keystore file for first, in you example you creating file with
name my-release-key.keystore. If its correct and really present in folder
Users/bournewang/Documents/Project check alias, in your example it is -alias alias_name,
 but in config you specified alias mike

大意是:

1.android.keystore可能不在指定目录下面

2.keyAlias不对

另:想知道真正原因的话,可以查看

To find out what's wrong you can use gradle's singingReport command. 

On mac: 

./gradlew signingReport
On Windows: 

gradle signingReport 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android使用KeyStore对数据进行加密的示例代码

    谈到 Android 安全性话题,Android Developers 官方网站给出了许多很好的建议和讲解,涵盖了存储数据.权限.网络.处理凭据.输入验证.处理用户数据.加密等方方面面 密钥的保护以及网络传输安全 应该是移动应用安全最关键的内容.Android 提供大量用来保护数据的加密算法,例如 Cipher 类中提供了 AES 和 RSA 算法,再例如安全随机数生成器 SecureRandom 给 KeyGenerator 提供了更加可靠的初始化参数,避免离线攻击等等. 而如果需要存储密钥以

  • Android签名机制介绍:生成keystore、签名、查看签名信息等方法

    Android独有的安全机制,除了权限机制外,另外一个就是签名机制了.签名机制主要用在以下两个主要场合起到其作用:升级App和权限检查. 升级App 用户在升级一款已经安装过的App时,如果程序的修改来自于同一来源,则允许升级安装,否则会提示签名不一致无法安装的提示. 权限检查 我曾在Android Permission权限机制的具体使用一文中提过,对于申请权限的  protection level 为 signature 或者 signatureOrSystem 的,会检查权限申请者和权限声明

  • 修改Android签名证书keystore的密码、别名alias以及别名密码

    Eclipse ADT的Custom debug keystore自定义调试证书的时候,Android应用开发接入各种SDK时会发现,有很多SDK是需要靠package name和keystore的指纹hash来识别的(百度地图SDK.又或是微信sdk.新浪微博的sdk),这样如果使用默认自动生成的debug keystore的话就会给开发调试工作带来一些麻烦.因为在生成这些开放平台需要带签名的apk生成的签名信息,再去申请到最后的秘钥.这时可以通过修改正式的release keystore,生

  • Android 中Failed to read key from keystore解决办法

    Android 中Failed to read key from keystore解决办法 Caused by: org.gradle.tooling.BuildException: Failed to read key from keystore at com.android.build.gradle.tasks.PackageApplication.doFullTaskAction(PackageApplication.groovy:110) at com.android.build.gra

  • Android 中ScrollView与ListView冲突问题的解决办法

    Android 中ScrollView与ListView冲突问题的解决办法 自定义MyListView public class MyListView extends ListView { public MyListView(Context context) { super(context); // TODO Auto-generated constructor stub } public MyListView(Context context, AttributeSet attrs) { sup

  • Android中EditText 设置 imeOptions 无效问题的解决方法

    有时候我们需要在EditText  输出完之后 需要在键盘出现 右下角变成"Go"或"前往 搜索时:通常我们需要设置Android:imeOptions属性.Android:imeOptions的值有actionGo. actionSend .actionSearch.actionDone等 但是今天我发现设置了无效  那是因为我设置了 android:maxLines="1" 解决方法 就是去掉 android:maxLines="1"

  • Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法

    Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法 问题描述: 开发中发现,SwipeRefreshLayout的下拉刷新,与ViewPager开发的banner的左右滑动事件有一点冲突,导致banner的左右滑动不够顺畅.很容易在banner的左右滑动的过程中,触发SwipeRefreshLayout的下拉刷新,从而导致banner左右滑动的体验很差. 解决方案: 可以在ViewPager的滑动时候设置SwipeRefreshLayout暂时不可用,

  • Android onKeyDown监听返回键无效的解决办法

     Android onKeyDown监听返回键无效的解决办法 当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispatchKeyEvent /** * 退出 */ @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAc

  • Failed to execute goal org...的解决办法

    背景:本项目使用JDK1.8 编译maven工程的时候出现如下错误: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1 pom中如下配置maven插件,配置中声明使用JDK1.8: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</

  • Android Studio 运行时出现的警告信息解决办法

    Android Studio 运行时出现的警告信息解决办法 今天群友看到他说运行的时候报下面的错,我记得我之前导入百度地图也是遇到过,运行的时候一堆警告信息,然后编译失败等的,特别郁闷,其实后来在网上查了下,原来是很多第三方里面加个混淆,然后你有找不到那些方法或者匿名内部类,才导致此问题的发生 看到这一堆东西别慌 解决方案: 在您的proguard-rules.pro 中添加这两个混淆 然后重新编译应该是没问题的!希望能够帮助更多的童鞋走出这个坑! -keepattributes Enclosi

  • Android Button 自带阴影效果另一种解决办法

    在Android 5.0以后的版本中,定义一个button时,系统自动会加一个阴影的效果,有的时候这种效果看起来比较好,有的时候不符合UI的设计要求,这时候就需要手动去掉阴影. 网上很多文章写了解决办法,就是给button加一句话style="?android:attr/borderlessButtonStyle",这个确实能解决问题,但是又带来了另外一个问题,就是一般情况下,在写布局的时候,都会给每个控件写一个style,这样方便复用,比如我写了一个button,引了一个style,

  • android实现常驻通知栏遇到的问题及解决办法

    实现常驻通知栏时遇到的问题: 无论如何就是不显示通知,查看日志发现貌似报错了: 2020-06-28 14:11:34.923 6387-6387/xxx E/CrashReport: android.app.RemoteServiceException: Bad notification posted from package xxx: Couldn't inflate contentViewsandroid.view.InflateException: Binary XML file lin

  • SpringBoot使用RedisTemplate.delete删除指定key失败的解决办法

    目录 问题概述 解决办法 问题概述 关于这个问题呢,还是主要出现在项目开发的管理上面,先描述哈项目环境: 1.Java 使用的 JDK-1.8 2.Spring Boot 使用的 Spring Boot-2.0.3 3.Redis 使用的是 2.0.8 4.Jedis 使用的是 2.9.0 (当然其它就不再描述了) 起先,使用的都是原生的 ReidsTemplate API 进行系统缓存的管理工作.后来,由于涉及到对象相关的操作,此时如果还使用原生API,缓存中的对象是一坨乱码,让人眼花缭乱,这

随机推荐