Flutter 如何发布安卓应用?,阿里巴巴安卓面试题答案

本文详细解释了Android应用配置中的关键参数,如launch模式、主题、配置变化处理、硬件加速等,以及如何在Flutter项目中管理versionCode和versionName,包括使用gradle进行签名和管理keystore。还提及了创建和使用Android签名的过程以及学习资源分享。
摘要由CSDN通过智能技术生成

android:launchMode=“singleTop”

android:theme=“@style/LaunchTheme”

android:configChanges=“orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode”

android:hardwareAccelerated=“true”

android:windowSoftInputMode=“adjustResize”>

<meta-data

android:name=“flutterEmbedding”

android:value=“2” />

配置版本发布参数

在android/app/build.gradle文件检查配置是否正确:

1.applicaitonId:应用唯一AppId,如com.lios.helloworld

2.versionCode:应用程序版本号

3.versionName:版本号字符串

4.minSdkVersion:指定最低的API级别

5.targetSdkVersion:指定应用程序设计运行的API级别

如下所示:

android {

compileSdkVersion 28

sourceSets {

main.java.srcDirs += ‘src/main/kotlin’

}

lintOptions {

disable ‘InvalidPackage’

}

defaultConfig {

// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).

applicationId “com.example.animation_demo”

minSdkVersion 16

targetSdkVersion 28

versionCode flutterVersionCode.toInteger()

versionName flutterVersionName

testInstrumentationRunner “androidx.test.runner.AndroidJUnitRunner”

}

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

}

}

}

这里面可以看到versionCode和versionName是从flutterVersionCode和flutterVersionName中引入的,其中这两个变量在build.gradle上面有定义。先从local.properties中读取,若没有再在该文件中定义,因此可以在localProperties中设置或在build.gradle中设置(优先取local.properties中的值)。

def flutterVersionCode = localProperties.getProperty(‘flutter.versionCode’)

if (flutterVersionCode == null) {

flutterVersionCode = ‘1’

}

def flutterVersionName = localProperties.getProperty(‘flutter.versionName’)

if (flutterVersionName == null) {

flutterVersionName = ‘1.0’

}

生成应用签名

创建keystore,如果之前创建过了,在key.properties中引入即可。

#其中/key.jks是将keystore文件key.jks存储在/目录下

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

按提示输入密码和组织信息即可。

输入密钥库口令:

再次输入新口令:

您的名字与姓氏是什么?

您的组织单位名称是什么?

您的组织名称是什么?

您所在的城市或区域名称是什么?

您所在的省/市/自治区名称是什么?

该单位的双字母国家/地区代码是什么?

CN=lag, OU=island-coder, O=RD, L=Coder, ST=Island, C=CN是否正确?

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):

CN=lag, OU=island-coder, O=RD, L=Coder, ST=Island, C=CN

[正在存储/Users/lag/key.jks]

在android目录下创建一个key.properties文件,用于引用密钥库信息:

storePassword={密钥库密码} #

keyPassword={证书密码}

keyAlias=key #对应命令行的-alias后的别名

storeFile=/Users/lag/key.jks #对应命令生成的key.jks的据对路径

修改配置文件

在build.gradle文件中,在android下增加以下内容:

signingConfigs {

release {

keyAlias keystoreProperties[‘keyAlias’]

keyPassword keystoreProperties[‘keyPassword’]

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

学习分享

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包——————可以点击我的【Github】免费下载,最后觉得有帮助、有需要的朋友可以点个赞

学习分享

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包——————可以点击我的【Github】免费下载,最后觉得有帮助、有需要的朋友可以点个赞

[外链图片转存中…(img-goNR3oAK-1711052955103)]

[外链图片转存中…(img-M5h5qdYP-1711052955104)]

[外链图片转存中…(img-s7xN9TeI-1711052955104)]

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值