起因
由于uniapp從2.5.1版本更新到3.1.18,相應(yīng)替換了新版App離線打包SDK中的文件后(libs包下的lib.5plus.base-release.aar、uniapp-release.aar),當(dāng)一切準(zhǔn)備就緒后,啟動APP,然而在登錄界面的時候就出現(xiàn)“**Appkey is not configured or configured incorrectly**”。
排查過程
因?yàn)橹凹闪藰O光推送SDK,所以第一反應(yīng)就認(rèn)為應(yīng)該是極光推送SDK配置的appkey不正確,在確保程序的appkey和極光推送官網(wǎng)配置的appkey一樣后,再次啟動APP,還是出現(xiàn)同樣的錯誤;直接大動干戈,將所有與極光推送有關(guān)的代碼、配置、依賴全部注釋掉,甚至還懷疑過NDK版本問題、SDK緩存問題等情況,做了一番調(diào)整后,再次啟動APP,還是同樣的錯誤。整個人接近崩潰,最后還是打算從源頭找起,重新回到[uniapp官網(wǎng)文檔](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android)查看**Android原生工程配置**,讓我看到了非常重要的一句話:
3.1.10版本起需要申請Appkey,具體請點(diǎn)擊[鏈接](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey)
最終按文檔里的說明做了相應(yīng)調(diào)整,啟動APP,終于沒問題了。
結(jié)論
“**Appkey is not configured or configured incorrectly**”這里的"**Appkey**"并不是極光推送SDK的JPUSH_APPKEY(花了大量時間排查極光推送SDK做了無用功),而是3.1.10版本起需要申請Appkey才能夠進(jìn)行App離線打包。
常見問題
**1、項目配置都正確怎么還是提示"未配置AppKey或配置錯誤"?**
這種情況不用懷疑。還是安裝包的信息與你在申請Appkey填寫信息不符導(dǎo)致的。 appid+應(yīng)用包名+簽名sha1三者必須與申請?zhí)顚懙男畔⒁恢虏趴梢缘摹?/p>
android平臺 可以按一下步驟檢查一下離線項目配置:
①、查看簽名文件是否配置到了主APP的build.gradle。
②、查看離線項目中dcloud_control.xml文件中的appid是否與申請AppKey時的appid一致。
③、檢測離線項目的包名是否申請AppKey時的包名是否一致。
④、編譯完通過apk解壓獲取一下簽名信息與申請AppKey時填寫的SHA1一致。
更多內(nèi)容請參考官網(wǎng)文檔
1、[原生工程配置->開發(fā)環(huán)境](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android)
2、[App離線打包SDK](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey)