新聞中心
檢查 App Manifest
查看默認(rèn)應(yīng)用程序清單文件(位于

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),雙塔企業(yè)網(wǎng)站建設(shè),雙塔品牌網(wǎng)站建設(shè),網(wǎng)站定制,雙塔網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,雙塔網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
- application: 編輯 application 標(biāo)簽, 這是應(yīng)用的名稱。
- uses-permission: 如果您的應(yīng)用程序代碼不需要Internet訪問,請刪除android.permission.INTERNET權(quán)限。標(biāo)準(zhǔn)模板包含此標(biāo)記是為了啟用Flutter工具和正在運行的應(yīng)用程序之間的通信。
查看構(gòu)建配置
查看默認(rèn)[Gradle 構(gòu)建文件][gradlebuild]”build.gradle”,它位于
- defaultConfig:applicationId: 指定始終唯一的 (Application Id) appid versionCode & versionName: 指定應(yīng)用程序版本號和版本號字符串。有關(guān)詳細(xì)信息,請參考版本文檔minSdkVersion & targetSdkVersion: 指定最低的API級別以及應(yīng)用程序設(shè)計運行的API級別。有關(guān)詳細(xì)信息,請參閱版本文檔中的API級別部分。
添加啟動圖標(biāo)
當(dāng)一個新的Flutter應(yīng)用程序被創(chuàng)建時,它有一個默認(rèn)的啟動器圖標(biāo)。要自定義此圖標(biāo):
- 查看Android啟動圖標(biāo) 設(shè)計指南,然后創(chuàng)建圖標(biāo)。
- 在
/android/app/src/main/res/目錄中,將圖標(biāo)文件放入使用配置限定符命名的文件夾中。默認(rèn)mipmap-文件夾演示正確的命名約定。 - 在AndroidManifest.xml中,將application標(biāo)記的android:icon屬性更新為引用上一步中的圖標(biāo)(例如
- 要驗證圖標(biāo)是否已被替換,請運行您的應(yīng)用程序并檢查應(yīng)用圖標(biāo)
app簽名
創(chuàng)建 keystore
如果您有現(xiàn)有keystore,請?zhí)料乱徊?。如果沒有,請通過在運行以下命令來創(chuàng)建一個: keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
注意:保持文件私密; 不要將它加入到公共源代碼控制中。
注意: keytool可能不在你的系統(tǒng)路徑中。它是Java JDK的一部分,它是作為Android Studio的一部分安裝的。有關(guān)具體路徑,請百度。
引用應(yīng)用程序中的keystore
創(chuàng)建一個名為
storePassword=
keyPassword=
keyAlias=key
storeFile=/key.jks>
注意: 保持文件私密; 不要將它加入公共源代碼控制中
在gradle中配置簽名
通過編輯
- 替換:
android {為:
def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { - 替換:
buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig signingConfigs.debug } }為:
signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release } }現(xiàn)在,您的應(yīng)用的release版本將自動進(jìn)行簽名。
開啟混淆
默認(rèn)情況下 flutter 不會開啟 Android 的混淆。
如果使用了第三方 Java 或 Android 庫,也許你想減小 apk 文件的大小或者防止代碼被逆向破解。
配置混淆
創(chuàng)建 /android/app/proguard-rules.pro 文件,并添加以下規(guī)則:
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
上述配置只混淆了 Flutter 引擎庫,任何其他庫(比如 Firebase)需要添加與之對應(yīng)的規(guī)則。
開啟混淆/壓縮
打開 /android/app/build.gradle 文件,定位到 buildTypes 塊。
在 release 配置中將 minifyEnabled 和 useProguard 設(shè)為 true,再將混淆文件指向上一步創(chuàng)建的文件。
android {
...
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
構(gòu)建一個發(fā)布版(release)APK
本節(jié)介紹如何構(gòu)建發(fā)布版(release)APK。如果您完成了前一節(jié)中的簽名步驟,則會對APK進(jìn)行簽名。
使用命令行:
- cd
( 為您的工程目錄). - 運行flutter build apk (flutter build 默認(rèn)會包含 --release選項).
打包好的發(fā)布APK位于
在設(shè)備上安裝發(fā)行版APK
按照以下步驟在已連接的Android設(shè)備上安裝上一步中構(gòu)建的APK
使用命令行:
- 用USB您的Android設(shè)備連接到您的電腦
- cd
. - 運行 flutter install .
將APK發(fā)布到Google Play商店
將應(yīng)用的release版發(fā)布到Google Play商店的詳細(xì)說明,請參閱 Google Play publishing documentation. (國內(nèi)不存在的,但你可以發(fā)布到國內(nèi)的各種應(yīng)用商店)
分享標(biāo)題:創(chuàng)新互聯(lián)Flutter教程:Flutter Android構(gòu)建發(fā)布
當(dāng)前鏈接:http://www.5511xx.com/article/dhhcgco.html


咨詢
建站咨詢
