本地碼完代碼,各環境測試人員測試完畢,正准備打包安卓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.bat, 2. cmd 命令行執行 sdkmanager --licenses; 然后會有一堆然后容讓你同意的; 3. 注意假如沒出現需要你同意的直接100%了,那么你需要重新下載sdk了; 4. 我的剛開始就是沒有,直接卸載Android Studio重新按照Flutter官方文檔的步驟運行會自動幫你裝上 sdk, 5. 然后在運行那個命令你就會發現有一大堆需要你同意的了,一直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 都沒問題