配置APP圖示
因為作為iOSer,所以我在這隻講Android的APP圖示在VScode中的配置。
專案根目錄/android/app/src/main/res/
進入之後你會看到很多mipmap-為字首命名的資料夾,後邊的是畫素密度,可以看出圖示的解析度。
名稱 | dpi |
---|---|
mdpi (中) | 160dpi |
hdpi (高) | 240dip |
xhdpi (超高) | 320dip |
xxhdpi (超超高) | 480dip |
xxxhdpi (超超超高) | 640dip |
將對應畫素密度的圖片放入對應的資料夾中,圖片記得用png格式,記得名字要統一,才能一次性進行配置
AndroidManifest.xml 檔案
這個檔案主要用來配置APP的名稱、圖示和系統許可權,所在的目錄在:
專案根目錄/android/app/src/main/AndroidManifest.xml
android:label="flutter_app" //配置APP的名稱,支援中文
android:icon="@mipmap/ic_launcher" //APP圖示的檔名稱,所以這個圖示檔名可以在這個地方配置
複製程式碼
生成 keystore
- 在VScode輸入
flutter doctor -v
找到Android toolchain
欄目下的Java binary at:
,複製這個標題項的地址。 - 我Mac的地址是
/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
- 在VScode的終端輸入查詢到的java根目錄地址以及
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
即:/Applications/'Android Studio.app'/Contents/jre/jdk/Contents/Home/bin/keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
- 回車後,他會要求你輸入金鑰庫口令,記住你的口令,稍後會用到。
- 繼續操作後,還會要求你的金鑰密碼,同樣也要記住這個密碼。
- 之後在你的user目錄下生成key.jks.這個key.jks路徑可以在上面的命令列中修改。記住這個檔案不能共享給任何人!
- 有了這個key.jks檔案後,可以到專案目錄下的android資料夾下,建立一個名為key.properties的檔案,並開啟貼上下面的程式碼。
storePassword=<password from previous step>//輸入上一步建立KEY時輸入的 金鑰庫 密碼
keyPassword=<password from previous step>//輸入上一步建立KEY時輸入的 金鑰 密碼
keyAlias=key
storeFile=<E:/key.jks> //key.jks的存放路徑
配置key註冊
key生成好後,需要在build.gradle檔案中進行配置。這個過程其實很簡單,就是貼上複製一些東西,你是不需要知道這些檔案的具體用處的。
- 第一項:
進入專案目錄的/android/app/build.gradle檔案,在android{這一行前面,加入如下程式碼:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
複製程式碼
- 第二項:
把如下程式碼進行替換:
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
複製程式碼
替換成:
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
複製程式碼
修改gradle配置
很多人在生成apk的時候都遇到了Running Gradle task 'assembleRelease'
錯誤提示。
修改專案下 build.gradle 和 flutter 安裝目錄flutter/packages/flutter_tools/gradle/flutter.gradle 兩個檔案中 buildscript 和allprojects 中的:
google()
jcenter()
複製程式碼
替換為:
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' }
複製程式碼
生成apk
直接在終端中輸入:
flutter build apk