Flutter初體驗(yàn)(二)安卓打包
一直以以來都是用android studio 打包,今天來研究一下怎么用命令行打包APK;
首先,打開flutter項(xiàng)目包下目錄
android/app/src/main/res/
可以看到有這個(gè)幾個(gè)目錄
mipmap-mdpi(160dpi)
mipmap-hdpi (240dpi)
mipmap-xhdpi(320dpi)
mipmap-xxhdpi(480dpi)
mipmap-xxxhdpi(640dpi)
按照對應(yīng)像素放入對應(yīng)大小的圖標(biāo)文件,圖片格式為?.png
配置APP名稱和圖標(biāo)、系統(tǒng)權(quán)限,打開目錄:
/android/app/src/main/AndroidManifest.xml
? android:label="myflutter"? //設(shè)置APP名稱,可以為中文就不多說了
? android:icon="@mipmap/ic_launcher"? //配置APP圖標(biāo)路徑
生成?keystore
keytool -genkey -v -keystore /E:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
安卓根目錄下創(chuàng)建?key.properties文件
添加如下代碼:
storePassword=秘鑰庫密碼
keyPassword=KEY密碼
keyAlias=key
storeFile=<E:/key.jks> // 生成的文件路徑
打開?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
? ? }
}
并添加如下代碼:
defaultConfig {
? ? ? ? // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
? ? ? ? applicationId "com.example.myflutter" //APPID
? ? ? ? minSdkVersion 16? ? ? ? ? ? ? ? ? ? ? // 可運(yùn)行應(yīng)用的最低版本的 Android 平臺,由該平臺的 API 級別標(biāo)識符指定
? ? ? ? targetSdkVersion 27? ? ? ? ? ? ? ? ? // 指定運(yùn)行應(yīng)用的目標(biāo) API 級別。在某些情況下,這允許應(yīng)用使用在目標(biāo) API 級別中定義的清單元素或行為,而不是僅限于使用那些針對最低 API 級別定義的元素或行為。
? ? ? ? versionCode 1? ? ? ? ? ? ? ? ? ? ? ? // 版本號
? ? ? ? versionName "1.0" ? ? ? ? ? ? ? ? ? // 版本名稱
? ? ? ? testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
? ? }
flutter build apk
成功之后會顯示如下圖內(nèi)容:
這樣我們的apk包就新鮮出爐了;
注意:樓主親測,,,打包之后閃退問題修復(fù)
添加ndk 不能設(shè)置的多,多了也會閃退