Flutter 總結apk打包上架問題(keystore,依賴包下載報錯,apk文件項目請求報錯等)


本地碼完代碼,各環境測試人員測試完畢,正准備打包安卓apk上架應用商店時,燒腦問題來了而且還不止一個.......

接下面講述我所遇到的幾個問題: 本人掘金文章

一:  keystore 簽名生成不了,對於非原生的人來說這也是個蠻大的坑。按照Flutter官方文檔的步驟就是生成不了...

1. 原因,生成key的路勁不對,不要照搬官方的指令,修改下生成的路勁在引用

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

2. 改成下面這樣就能生成了 

keytool -genkey -v -keystore C:\work_ljx\android-key/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

3.  在把生成的key.jks復制到項目文件android/app/下, 在key.properties里引入

storePassword=(你的秘鑰)
keyPassword=(你的秘鑰)
keyAlias=key(不用動)
storeFile=\key.jks(文件在android/app/key.jks下, 所以在這直接是\key.jks)

二: 依賴包下載不回來報錯。

1:android sdk 沒有許可證

1. 找到你的sdk toos/bin目錄下有個sdkmanager.bat2. cmd 命令行執行 sdkmanager --licenses; 然后會有一堆然后容讓你同意的; 3. 注意假如沒出現需要你同意的直接100%了,那么你需要重新下載sdk了; 4. 我的剛開始就是沒有,直接卸載Android Studio重新按照Flutter官方文檔的步驟運行會自動幫你裝上 sdk5. 然后在運行那個命令你就會發現有一大堆需要你同意的了,一直Y就是了

2:android sdk 版本不一致

1. 也許有的人和我一樣先安裝的是vscode 然后自己下載的安卓 sdk; 
2. 在后面又按官方步驟下Android Studio, 這時他又自動給你又下載一個 安卓SDK; 
3. 問題是兩個版本不一致,所以我打包時報 sdk版本不一致,一直下不回來;
4. 我把sdk全部卸載在通過官網 Android Studio 安裝步驟安裝一個就行了

3:個別依賴包下載不回來報錯 xxx:verifyReleaseResources

1. 我的項目里引入了幾個依賴, 但是我是用的版本不是最新的, 
2. 這時打包報錯提示 依賴包依賴的 安卓 sdk和你所安裝的sdk版本不一致, 這... 有毒;
3. 這時你把依賴包的版本改為最新或最近的, 不過你的sdk安裝時最好也選擇最新的;這時問題就解決了

三: 安卓 apk 打包之后正式版發現全部請求報錯

1.  原因: 正式版的安卓app 需要設置允許網路權限

2.  解決:android\app\src\main\AndroidManifest.xml,manifest 和 android\app\src\profile\AndroidManifest.xml,manifest 里添加這段代碼, 然后在打包就解決這問題了

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

四: Xcode ios打包報錯 #import "XXXXXXXX"啥的, 依賴包引入不了

1. 原因: windows 創建的 flutter 項目使用的是 swift 語言, 而 ios 需要的是 objc 2. 解決: 新建空目錄使用 flutter create -i objc my-flutter-app  創建新項目, 在把原項目下 lib 文件夾下的所有文件替換新創建的 lib 文件夾, 這就可以了;Android\ios 都沒問題
以上就是實際項目打包遇到的問題;還有疑問之處歡迎留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM