Flutter 基礎知識和常見問題記錄
阿新 • • 發佈:2020-12-23
Flutter使用過程中遇到的問題
基礎知識
總有一些知識,你看著吧,簡單!用著的時候吧,忘了,那就把這些又愛又氣的傢伙記錄在這裡吧 !!!
新的改變
容易碰到的報錯
Running Gradle task ‘assembleDebug’…
這個問題遇到概率賊高,至少我是這個樣子的,看似簡單,卻經常忘記。
原因 是因為Gradle的Maven倉庫在國外, 因此需要使用阿里雲的映象地址。
maven { url ‘https://maven.aliyun.com/repository/google’ }
maven { url ‘https://maven.aliyun.com/repository/jcenter’ }
maven { url ‘http://maven.aliyun.com/nexus/content/groups/public’ }
在哪裡修改應該知道的吧!還是提一下,android/build.gradle 檔案
如上述還是沒有解決你的問題,升級gradle版本或可一試,別人說的,沒有驗證哦。
專案無法執行解決方案
你或許會因為下面原由而專案無法執行:
- 專案因刪除某些檔案(如:android資料夾、ios資料夾等)導致專案無法執行;
- 拉取git庫專案出現莫名奇妙的原因無法執行;
- 直接拷貝別的電腦上可執行的專案,但是在自己電腦上無法執行;
解決方案:
需要注意的是:以下操作會刪除Android 和 iOS 中的一些配置和初始化設定
-
需要刪除自動生成的檔案重新生成
-
只保留 :
1 assets -->資原始檔,或者自定義的資原始檔 .
2 lib --> Flutter程式碼模組
3 pubspec.yaml --> Flutter 配置檔案
4 .gitignore 檔案 -
執行重新生成命令:
flutter create .
-
若執行完重新生成檔案後測試test資料夾內檔案報錯可直接刪除。
-
更加詳細參考文件:
百度地圖定位:第一次定位成功之後 再次定位一直返回:505 錯誤
報錯資訊如下:
I/flutter ( 7891): { callbackTime: 2020-12-15 15:53:08, errorCode: 505,
errorInfo: NetWork location failed because baidu location service check the key is unlegal,
please check the key in AndroidManifest.xml !}
造成的原因主要有兩個:
- 本專案使用的包名和百度地圖裡申請時使用的包名不一致。
- 本專案使用的祕鑰和百度地圖裡申請時使用的祕鑰引數值不同。
此處主要記錄一下問題2的解決。
解決方案:
- 獲取當前應用的祕鑰資訊進行驗證。
- 應用啟動時,在logcat中會有鑑權錯誤資訊可以幫到你。
============================================= ----------------- 鑑權錯誤資訊 ------------ sha1;package:50:5E:B1:CA:52:5C:C5:15:6C:CF:65:A4:B6:5A:37:29:62:09:62:B3;com.example.test key:kDekSA3sVGT7kEQkfRjAqamBoNMI4dUa errorcode: 230 uid: -1 appid -1 msg: APP Mcode碼校驗失敗 請仔細核查 SHA1、package與key申請資訊是否對應,key是否刪除,平臺是否匹配 errorcode為230時,請參考論壇連結: http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=106461 =============================================
- 再檢視當前應用app/build.gradle中是否進行了祕鑰加密,如果沒有則當前應用使用的是本電腦自動生成的初始祕鑰,修改成為本應用專屬的祕鑰即可。
獲取申請百度地圖key所需的SHA1值:
-
獲取debug的SHA1值(電腦自動生成的值)
-
開啟cmd,輸入:
cd .android
keytool -list -v -keystore debug.keystore -
輸入祕鑰庫口令,預設的就是:andorid ;回車既可以看到SHA1的值了;
-
-
獲取release的SHA1的值(這個是重點)
-
開啟cmd,輸入:
cd .android
keytool -list -v -keystore 你自己的打包用到的keystore的路徑 -
輸入祕鑰庫口令。
-