张泓锐
张泓锐
  • 发布:2021-04-27 16:14
  • 更新:2023-12-20 17:26
  • 阅读:26035

未配置appkey或配置错误!怎么解决

分类:uni-app
SDK

2021-04-27 16:14 负责人:DCloud_App_Array 分享
已邀请:

最佳回复

1***@qq.com

1***@qq.com

官方文档少说了一步,巨坑爹。
要把之前生成的keystore文件放在app目录下

回头参考你之前创建keystore文件的指令: keytool -genkey -alias testalias(这个是keyAlias 'keystore别名') -keyalg RSA -keysize 2048 -validity 36500 -keystore sdkdemo.keystore(keystore文件名称)

然后在build.gradle(app)加这个(和defaultConfig同级):
signingConfigs {
config {t
keyAlias 'keystore别名'
keyPassword '密码'
storeFile file('keystore文件名称')
storePassword '密码'
v1SigningEnabled true
v2SigningEnabled true
}
}

  • i***@qq.com

    果然是这个问题

    2021-07-15 18:21

  • 1***@qq.com

    是放在app目錄下?還是apps目錄下?沒看到有個app目錄啊?

    2022-09-25 23:46

HAO7788

HAO7788

buildTypes {
debug {
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

一定要注意上面这里,光配了签名,没用到buildTypes里

  • 1***@qq.com

    注意build.gradle里面的

    manifestPlaceholders = [

    "apk.applicationId" : "unipush的包名",

    "GETUI_APPID" : "unipush的appid",

    "plus.unipush.appid" : "unipush的appid",

    "plus.unipush.appkey" : "unipuish的appkey",

    "plus.unipush.appsecret": "unipush的secrety"

    ]的要改成设置里面的一样,另外还有

    applicationId "unipush的包名",全部得改

    2021-09-10 10:27

  • 6***@qq.com

    解决了 感谢 不止外面需要配置signingConfigs 还有 buildTypes 里也得配置下

    2021-10-18 17:13

  • c***@163.com

    signingConfig signingConfigs.config 牛逼

    2022-03-16 16:38

  • 3***@qq.com

    nb,卡了一天,最后发现就少了这步,总算解决了!

    2022-06-23 09:33

  • krisign

    回复 1***@qq.com: manifestPlaceholders 这个是什么配置啊,配置到哪里

    2022-07-25 16:02

w***@qq.com

w***@qq.com

各位网友,我知道我为什么会一直有这个错误了,即使把上述的所有步骤都做了一遍还是会报【未配置appkey或配置错误】,是因为我自己手贱在安卓项目的manifest里的那个meta的```android
<meta-data
android:name="dcloud_appkey"
android:value="xxxxxxxxxxxxxxxxxxx" />


那个name改成了别的东西,其实是不用改的。  
https://wangjinchan.blog.csdn.net/article/details/120486710  
我已经把这个具体步骤和避坑写成博客了。
  • i***@qq.com

    我也是这个问题,文档写的太容易让人有歧义了。原文是这样写的“name为dcloud_appkey,value为申请的AppKey如下”,以为dcloud_appkey就是APP_ID。

    2023-07-04 00:02

  • 北城不归路

    确实有歧义

    2023-07-21 17:40

2***@qq.com

2***@qq.com

可以参考这篇文档:https://blog.csdn.net/weixin_43449246/article/details/120486710
追加配置:

  • 6***@qq.com

    弄了一天, 终于解决了,感谢

    2022-06-23 13:27

6***@qq.com

6***@qq.com - 清风徐来

同问,appkey 也是配置了点

郭豪

郭豪

求告知,也遇到了,都是按照官方文档弄的

y***@lingtu.com

y***@lingtu.com

求告知

石头2001

石头2001

完全按照官方文档弄得,依然不行

d***@qq.com

d***@qq.com

我也遇到同样的问题,已经配置了app_key所有流程按官方来走的

  • liaol

    解决了吗?兄弟

    2021-07-09 15:59

2***@qq.com

2***@qq.com

wc,woc

k***@qq.com

k***@qq.com

3.1.22还是这样
按照这4步检查都没问题

1、查看签名文件是否配置到了主APP的build.gradle。

2、查看离线项目中dcloud_control.xml文件中的appid是否与申请AppKey时的appid一致。

3、检测离线项目的包名是否申请AppKey时的包名是否一致。

4、编译完通过apk解压获取一下签名信息与申请AppKey时填写的SHA1一致。

但是还是报这个错

1***@163.com

1***@163.com

按照这4步检查都没问题

1、查看签名文件是否配置到了主APP的build.gradle。
signingConfigs {
config {
keyAlias 'newPt'
keyPassword '123456'
storeFile file('newPt.keystore')
storePassword '123456'
v1SigningEnabled true
v2SigningEnabled true
}
}

2、查看离线项目中dcloud_control.xml文件中的appid是否与申请AppKey时的appid一致。
dcloud_control.xml

appid UNI08CA61E
3、检测离线项目的包名是否申请AppKey时的包名是否一致。
包名 io.dcloud.newPt
AppKey io.dcloud.newPt

4、编译完通过apk解压获取一下签名信息与申请AppKey时填写的SHA1一致。
<meta-data
android:name="dcloud_appkey"
android:value="7c34a572a1ac4302fad55f6c9f7e8a9d" />

hash1: B8:54:DA:CD:FB:8D:5B:42:48:85:81:37:D0:FD:D1:82:D7:6D:55:4E

但是还是报这个错

  • 1***@163.com

    刚解决了

    2021-07-28 11:14

  • 凌风浮云S

    回复 1***@163.com: 咋回事啊,我难受啊

    2021-07-29 13:34

  • HAO7788

    回复 1***@163.com: 咋解决的也不说

    2021-09-02 11:01

  • zhangrl

    回复 1***@163.com: 怎么解决的啊,

    2021-12-13 11:19

1***@qq.com

1***@qq.com

现在是怎么个意思,离线打包咋一直白屏5+ 的

1***@qq.com

1***@qq.com

各位同学好,我这边按照官网操作, 也加了 signingConfigs配置,还是提示【未配置appKey或配置错误】

水痕qaq

水痕qaq

我也遇到了,注意Android 包名也要一致

a***@163.com

a***@163.com

我也遇到了,配置signingConfigs后,检查一下生成appkey的sha1值是否为签名用的keystore的sha1,很可能你是用的sha1值是android studio 默认的keystore的sha1值

1***@qq.com

1***@qq.com

请问有解决的大佬吗,

晓梦轻寒

晓梦轻寒

所有的配置完全按照官网操作 ,也保证了包名、APPKey和SHA1完全一样,也配置了signingConfigs和buildTypes,还是显示这个问题!!!

我找到问题了:原因是我把AndroidManifest.xml中meta-data标签的内容放在application节点外面去了,实际上应该在内部的:

...........
东东东东

东东东东 - 东东东东

设置了appkey,配置了signingConfigs和buildTypes,结果还是显示appkey未设置或配置错误,然后改了下defaultConfig里面的applicationId,换成了uni.的包名,就没问题了,看文档也没提示这个问题。记录一下

龙远科技

龙远科技

我整理了这个错误需要检查的地方,供参考
http://doc.21ds.cn/index?project_id=4723564200541069

8***@qq.com

8***@qq.com

辣鸡呀, 就是个大坑! 浪费时间!

zhychen

zhychen

真是醉了 为啥非要加这个东西。。。

9***@qq.com

9***@qq.com

配置都对,还报key不对,是为什么呢

  • 9***@qq.com

    我解决了

    2022-06-16 13:59

  • krisign

    回复 9***@qq.com: 怎么解决的啊

    2022-07-25 15:55

  • 2***@qq.com

    回复 9***@qq.com: 老兄,你的解决方案是什么

    2022-08-17 14:13

s***@163.com

s***@163.com

官方给出的纠错步骤如下:

查看签名文件是否配置到了主APP的build.gradle。

查看离线项目中dcloud_control.xml文件中的appid是否与申请AppKey时的appid一致。

检测离线项目的包名是否申请AppKey时的包名是否一致。

编译完通过apk解压获取一下签名信息与申请AppKey时填写的SHA1一致。

通过自查,发现是app的build.gradle里面离线项目的包名与申请AppKey时的包名不一致导致的,修改成与项目的Android包名一致就完美解决了。

注意⚠️:配置离线打包AppKey时,android需要填写的证书签名SHA1值其实是通过keytool命令获取的MD5值。不知道是不是DCloud得Bug!
————————————————
版权声明:本文为CSDN博主「No Silver Bullet」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sunhuaqiang1/article/details/124314011

t***@techfantasy.cn

t***@techfantasy.cn

首先排查一下四点问题:
android平台 可以按一下步骤检查一下离线项目配置:

1、查看签名文件是否配置到了主APP的build.gradle。

2、查看离线项目中dcloud_control.xml文件中的appid是否与申请AppKey时的appid一致。

3、检测离线项目的包名是否申请AppKey时的包名是否一致。

4、编译完通过apk解压获取一下签名信息与申请AppKey时填写的SHA1一致。

我在打包过程中是第4点中排查到问题了。

解决方案:使用解压工具解开apk。

具体步骤:(1)将打包好的app-debug.apk文件后缀名改为app-debug.zip
(2)解压app-debug.zip拿到META-INF文件夹
(3)将META-INF放到C盘的根目录下
(4)打开cmd 运行 : keytool -printcert -file C:\META-INF\CERT.RSA即可获取SHA1,对照是否跟开发者中心的一致
(5)不一致的话将上述的SHA1拷贝到开发者中心的,重新生成appkey,再打包就可以了
如果还不太明白可以看一下我写的博客,链接的最底部!https://www.cnblogs.com/juliasgwy/p/16616774.html

极光

极光 - FOR DEVELOPERS, BY DEVELOPERS

**还有一种情况,大家可以参考:

我们需要更新签名文件信息,但是签名文件信息更新后,appkey不会更新,需要删除配置,然后再次创建更新!!!!!!**>

  • 极光

    也就是说,之前的appkey,可能是官方自带的,更新签名文件后,应该要重新生成一份,但是他们的系统没有那么智能,需要我们删除后,再次创建,生成新的appkey。

    2022-12-16 15:40

  • 极光

    可以多关注极光产品,谢谢!!

    2022-12-16 15:43

  • 极光

    采用的官方demo的离线打包异常情况下可以参考。

    2022-12-16 15:46

  • 8***@qq.com

    回复 极光: 谢谢,解决了

    2022-12-22 16:32

清风笑

清风笑 - 333

报错解决:
未配置appkey或配置错误

情况一:配置签名信息即可;
按离线打包已经看文档配置好自已的签名,即可打包出来安装正常;
按这个操作:
https://blog.csdn.net/weixin_45284208/article/details/121920418
uniapp Android 离线打包之未配置appkey或配置错误

情况二:自已已经签名的apk包,需要放android系统system/app上,使用了android系统签名工具签名,签名后apk的md5\sha1\sha256值变了导致的;

解决:
1.用keytool-importkeypair工具,把android系统的platform.x509.pem platform.pk8转为Android Studio用的test.keystore,
2.把“各平台信息”的app,删除,重新创建;填写系统android系统的签名MD5、SHA1、SHA256
3.在Android Studio,重新修改配置,重新打包验证;
android系统签名,默认账号及密码:
signingConfigs {
config {
keyAlias 'platform'
keyPassword 'android'
storeFile file('android_sys.keystore')
storePassword 'android'
v1SigningEnabled true
v2SigningEnabled true
}
}

a***@qq.com

a***@qq.com

我也遇到了这个问题,不过刚才搞好了。
首先是照着官方文档搞一遍,当然这只能搞一个大体的。
然后会出现appkey配置错误云云,此时需要确认以下几步:
1 将申请appkey的keystore复制到simpledemo的根目录下
2 添加如上的siginConfigs配置
3 检查申请官方离线打包appkey的包名与appid是否与androidmanifest.xml里面的一致:我的就检查到了报名不一致,然后在官方修正包名后会重新生成appkey(ps,生成app的md5与sha1域是反的),此时重新将此appkey填入

然后就基本没啥问题了

weina

weina

还有一个最大的坑!!!我折腾一天!!!需要删除重新申请apikey才生效!!!!!!

  • 7***@qq.com

    是的,证书每次重新生成,都要在平台上重新配置离线打包key,搞了一天,真要命啊...

    2023-12-06 13:58

1***@qq.com

1***@qq.com

假如你

要回复问题请先登录注册