起因
由于uniapp从2.5.1版本更新到3.1.18,相应替换了新版App离线打包SDK中的文件后(libs包下的lib.5plus.base-release.aar、uniapp-release.aar),当一切准备就绪后,启动APP,然而在登录界面的时候就出现“**Appkey is not configured or configured incorrectly**”。
排查过程
因为之前集成了极光推送SDK,所以第一反应就认为应该是极光推送SDK配置的appkey不正确,在确保程序的appkey和极光推送官网配置的appkey一样后,再次启动APP,还是出现同样的错误;直接大动干戈,将所有与极光推送有关的代码、配置、依赖全部注释掉,甚至还怀疑过NDK版本问题、SDK缓存问题等情况,做了一番调整后,再次启动APP,还是同样的错误。整个人接近崩溃,最后还是打算从源头找起,重新回到[uniapp官网文档](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android)查看**Android原生工程配置**,让我看到了非常重要的一句话:
3.1.10版本起需要申请Appkey,具体请点击[链接](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey)
最终按文档里的说明做了相应调整,启动APP,终于没问题了。
结论
“**Appkey is not configured or configured incorrectly**”这里的"**Appkey**"并不是极光推送SDK的JPUSH_APPKEY(花了大量时间排查极光推送SDK做了无用功),而是3.1.10版本起需要申请Appkey才能够进行App离线打包。
常见问题
**1、项目配置都正确怎么还是提示"未配置AppKey或配置错误"?**
这种情况不用怀疑。还是安装包的信息与你在申请Appkey填写信息不符导致的。 appid+应用包名+签名sha1三者必须与申请填写的信息一致才可以的。
android平台 可以按一下步骤检查一下离线项目配置:
①、查看签名文件是否配置到了主APP的build.gradle。
②、查看离线项目中dcloud_control.xml文件中的appid是否与申请AppKey时的appid一致。
③、检测离线项目的包名是否申请AppKey时的包名是否一致。
④、编译完通过apk解压获取一下签名信息与申请AppKey时填写的SHA1一致。
更多内容请参考官网文档
1、[原生工程配置->开发环境](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android)
2、[App离线打包SDK](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey)