掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
查看默認(rèn)應(yīng)用程序清單文件(位于

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),雙塔企業(yè)網(wǎng)站建設(shè),雙塔品牌網(wǎng)站建設(shè),網(wǎng)站定制,雙塔網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,雙塔網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
查看默認(rèn)[Gradle 構(gòu)建文件][gradlebuild]”build.gradle”,它位于
當(dāng)一個(gè)新的Flutter應(yīng)用程序被創(chuàng)建時(shí),它有一個(gè)默認(rèn)的啟動(dòng)器圖標(biāo)。要自定義此圖標(biāo):
如果您有現(xiàn)有keystore,請(qǐng)?zhí)料乱徊健H绻麤](méi)有,請(qǐng)通過(guò)在運(yùn)行以下命令來(lái)創(chuàng)建一個(gè): keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
注意:保持文件私密; 不要將它加入到公共源代碼控制中。
注意: keytool可能不在你的系統(tǒng)路徑中。它是Java JDK的一部分,它是作為Android Studio的一部分安裝的。有關(guān)具體路徑,請(qǐng)百度。
創(chuàng)建一個(gè)名為
storePassword=
keyPassword=
keyAlias=key
storeFile=/key.jks>
注意: 保持文件私密; 不要將它加入公共源代碼控制中
通過(guò)編輯
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版本將自動(dòng)進(jìn)行簽名。
默認(rèn)情況下 flutter 不會(huì)開(kāi)啟 Android 的混淆。
如果使用了第三方 Java 或 Android 庫(kù),也許你想減小 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 引擎庫(kù),任何其他庫(kù)(比如 Firebase)需要添加與之對(duì)應(yīng)的規(guī)則。
打開(kāi) /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'
}
}
}
本節(jié)介紹如何構(gòu)建發(fā)布版(release)APK。如果您完成了前一節(jié)中的簽名步驟,則會(huì)對(duì)APK進(jìn)行簽名。
使用命令行:
打包好的發(fā)布APK位于
按照以下步驟在已連接的Android設(shè)備上安裝上一步中構(gòu)建的APK
使用命令行:
將應(yīng)用的release版發(fā)布到Google Play商店的詳細(xì)說(shuō)明,請(qǐng)參閱 Google Play publishing documentation. (國(guó)內(nèi)不存在的,但你可以發(fā)布到國(guó)內(nèi)的各種應(yīng)用商店)

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流