当前位置:网站首页>[fluent -- advanced] packaging
[fluent -- advanced] packaging
2022-07-26 16:28:00 【Kevin-Dev】

List of articles
1. Generate key
After writing the application , Finally, it's packed , Because I use Android studio Developed , So directly in Terminal Input :
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 100000 -alias key
Remember here -alias key key Alias , You can change it yourself , eject :
Enter the keystore password :
Enter the new password again :
What is your first and last name ?
[Unknown]: knight
What is the name of your organizational unit ?
[Unknown]: knight
What is the name of your organization ?
[Unknown]: knight
What is the name of your city or area ?
[Unknown]: knight
Your province / City / What is the name of the Autonomous Region ?
[Unknown]: knight
The unit's two letter country / What is the area code ?
[Unknown]: C
CN=knight, OU=knight, O=knight, L=knight, ST=knight, C=C Whether it is right ?
[ no ]: Y
Generating 2,048 position RSA Key pairs and self signed certificates (SHA256withRSA) ( Valid for 100,000 God ):
CN=knight, OU=knight, O=knight, L=knight, ST=knight, C=C
[ Storing /Users/luguian/key.jks] --> Generate the corresponding signature file
I copied it to android Under the table of contents .
2. establish key.properties
stay android Create one in the directory key.properties:
3. change build.gradle

-----> increase
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
----->
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.flutterdemo"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
-----> increase
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
// proguard The document is confusing
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
------> increase
}
4. Add obfuscation file
By default ,Flutter Don't confuse or shrink Android host . If you plan to use a third party Java or Android library , You may want to reduce APK Size or protect the code from reverse engineering , That's in android/app/ Add below proguard-rules.pro:
Finally, execute in the project root :
flutter build apk
Initializing gradle... 0.6s
Resolving dependencies... 1.3s
Gradle task 'assembleRelease'...
Gradle task 'assembleRelease'... Done 7.2s
Built build/app/outputs/apk/release/app-release.apk (15.8MB).
The final output is build-app-release Next :
And it worked .
ios How to pack , Please check flutter.dev/docs/deploy….
边栏推荐
- Tdengine landed in GCL energy technology, with tens of billions of data compressed to 600gb
- docker安装redis?如何配置持久化策略?
- Nacos win10 安装配置教程
- spark-streaming状态流之mapWithState
- TKE集群节点max-pod是如何配置的
- 综合设计一个OPPE主页--布局与初始化
- kubernetes之ReplicationController与ReplicaSet
- Re7:读论文 FLA/MLAC Learning to Predict Charges for Criminal Cases with Legal Basis
- 博途PLC顺序开关机功能块(SCL)
- Trends in software testing tools in 2021
猜你喜欢
Specific practice cases of "card note taking method" in Siyuan

终于有人把红蓝对抗讲明白了

Re8: reading papers Hier spcnet: a legal stat hierarchy based heterogeneous network for computing legal case

vlang捣鼓之路
![[ten thousand words long text] Based on LSM tree thought Net 6.0 C # realize kV database (case version)](/img/84/640de0bf779cd45498204909be56d1.png)
[ten thousand words long text] Based on LSM tree thought Net 6.0 C # realize kV database (case version)

Question collection come and ask nllb authors! (Zhiyuan live issue 24)

2022年最新西藏建筑施工架子工(建筑特种作业)模拟考试试题及答案

guetzli简单使用

PAT甲级 1046 Shortest Distance

Bugku login1
随机推荐
[tool sharing] automatic generation of file directory structure tool mddir
Activity之onCreate、onRestoreInstanceState恢复数据的区别
综合设计一个OPPE主页--明星机型的设计
Alibaba cloud DMS MySQL cloud database report error, solve!!
First knowledge of OpenGL (4) link shader
PAT甲级 1047 Student List for Course
C语言重点知识总结
Octree establishes map and realizes path planning and navigation
How to configure tke cluster node Max pod
面试时候常说的复杂度到底是什么?
Comprehensively design an oppe homepage -- the design of the top and head
The "nuclear bomb level" log4j vulnerability is still widespread and has a continuing impact
The process and harvest of developing browser plug-ins with clojurescript
博途PLC顺序开关机功能块(SCL)
物联网工业级串口转WiFi转网口转以太网模块的选型
Pat grade a 1045 favorite color stripe
基于NoCode构建简历编辑器
Bugku login2
VS2017打开项目提示需要迁移的解决方法
阿里云DMS MySQL云数据库建表报错,求解!!