当前位置:网站首页>[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….
边栏推荐
- 【万字长文】使用 LSM-Tree 思想基于.Net 6.0 C# 实现 KV 数据库(案例版)
- 初识OpenGL (2)编译着色器
- First knowledge of OpenGL (4) link shader
- PAT甲级 1047 Student List for Course
- Botu PLC Sequential switch function block (SCL)
- I would like to ask you guys, how to specify the character set of MySQL CDC tables? I can't find the corresponding connector parameters on the official website. I read one
- 数字化转型怎么就那么的难?!
- 综合设计一个OPPE主页--导航栏的设计
- 6种方法帮你搞定SimpleDateFormat类不是线程安全的问题
- vlang捣鼓之路
猜你喜欢

Operating system migration practice: deploying MySQL database on openeuler
![[RCTF2015]EasySQL](/img/68/328ee5cffc8b267b6b0f284eb8db2c.png)
[RCTF2015]EasySQL
![[BJDCTF2020]Easy MD5](/img/6a/61a4b5624c33f1f334bea344cfa2c8.png)
[BJDCTF2020]Easy MD5

Application of workflow engine in vivo marketing automation

Pat grade a 1049 counting ones

工作流引擎在vivo营销自动化中的应用实践

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

DTS搭载全新自研内核,突破两地三中心架构的关键技术|腾讯云数据库

Pat class a 1047 student list for course

The "nuclear bomb level" log4j vulnerability is still widespread and has a continuing impact
随机推荐
Jmeter快速上手之接口测试
阿里云DMS MySQL云数据库建表报错,求解!!
《硅谷之谜》读后感
Botu PLC Sequential switch function block (SCL)
DTS is equipped with a new self-developed kernel, which breaks through the key technology of the three center architecture of the two places Tencent cloud database
Clojure 运行原理之编译器剖析
What is GPIO and what is its use
I would like to ask you guys, how to specify the character set of MySQL CDC tables? I can't find the corresponding connector parameters on the official website. I read one
Google Earth engine - merra-2 m2t1nxlv: 1980 present global pressure, temperature, wind and other data sets
十周岁生日快乐,Clojure
Collection of open source expert opinions on trusted privacy computing framework "argot"
C#读取本地文件夹中所有文件文本内容的方法
技术风向标 | 云原生技术架构成熟度模型解读
Sword finger offer special assault edition day 11
量化交易之数字货币篇 - 通过时间戳与方向来合并逐笔成交数据(大单合并)
Is it safe for Guoyuan futures to open an account online? What is the account opening process?
C#事件和委托的区别
[BJDCTF2020]Easy MD5
[e-mr] error recovery record of namenode
Which book is the "the Nine Yin Manual" in the field of programming