乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
Flutter打包android | chenzuoli's blog

Flutter打包android

最近一年开始学习移动端开发,从微信小程序开始,到android ios,现在已经基本掌握。android是从flutter入手的,对java后端的开发人员来说,特别亲和,所以入手了这个google的开源框架,下面来看看如何打包android apk包。

官方文档参考:
https://flutter.dev/docs/deployment/android

配置

1.创建秘钥

1
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

2.创建key.properties

1
2
3
4
5
android/key.properties
storePassword=djy709918
keyPassword=djy709918
keyAlias=my-key-alias
storeFile=/Users/chenzuoli/opt/cert/lu_master.keystore

3.android/app/build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}

buildTypes {
release {
signingConfig signingConfigs.release
}
}

4.申请访问网络权限,否则,真机无法连接网络,而模拟器可以

1
2
3
4
5
6
android\app\src\profile\AndroidManifest.xml
android/src/main/AndroidManifest.xml
<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" />

4.打包

1
flutter build apk

5.解决问题
android/app/build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "pet.petcage.lu_master"
minSdkVersion 16
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.android.material:material:1.3.0'
implementation 'com.android.support:multidex:1.0.1'
}

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------