Android开发系列——实战篇3:打包项目代码生成.apk文件

在项目开发完成后,得将项目代码打包成apk文件才能在相关安卓设备上运行。apk文件就是一个包。
进行apk文件打包有很多方式,分debug版和release版。
通常所说的打包就是生成release版的apk包,release版编译的apk文件比debug版的小。
release版的还会进行混淆和用自己的keystore签名,以防止别人进行反编译,重新对代码打包从而替换你的应用。

简单点说就是给你的apk发身份证,上户口,防止和你长的一样的人,假冒你。这里的apk身份证就是我们的“.jks”文件。所以这个jks文件很重要。
如果你同一代码,生成两个jks文件打包,那就代表的是两个软件

Android项目代码的打包

打包.apk文件可以用Android Studio自带的签名,也可以通过graddle签名等方式,主要是使用AS自带的签名。

常见的AS自带签名的打包方式有两种:

1.没有.jks文件的打包

2.有.jks文件的打包

第一种:没有.jks文件的打包

进入Build->Generate Signed Bundle/APK。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第1张图片

在该界面选择APK。(这里新版本出现了一个Bundle的选项,主要是进行APP store的一些适配,常规选择APK。)
Android开发系列——实战篇3:打包项目代码生成.apk文件_第2张图片

进入如下界面,因为此时是没有密钥的(身份证——.jks文件),所以要创建一个新的,点击Create new。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第3张图片

这里有两个需要设置:密钥 与 密钥的密钥
熟悉编程的可以用变量的含义来理解,变量相当于一个保险柜,里面放的参数相当于密钥(贵重物品),变量这个保险柜本身就是密钥的密钥(需要输入密码打开)。
密钥 与 密钥的密钥本身都有密码,两个密码建议相同,避免遗忘。
图中Key store path则是自己选择的密钥存放的路径。
Key下面的栏目中,Alias是Key的名称,Password是Key的密码,注意,这里两个Confirm栏中是需要再次确认密码的。
Validlity years是设置的密钥有效的年限,同时也是软件有效的年限。
Certificate下面栏目中,填写First and Last Name。其余选填。点击OK进入下一步。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第4张图片

这里选择.apk文件存放的路径以及编译的版本,这里存放路径默认,编译版本是release版。
注意:新版本这里有一个Signature Version的提示,经过查阅资料,最好是全部勾选,如果出现问题再单独勾选尝试。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第5张图片

点击Finish后,Android Studio会自动进行编译,等到编译完成会出现编译成功的提示(一定要有编译成功的提示才是真正编译成功。
此时就可以在相关目录下找到.apk文件。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第6张图片

这个.apk文件就是最终需要的包,可以在各大安卓设备上进行安装, 这里在博主的HUAWEI手机(真机)上安装这个包后大概效果如图。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第7张图片

第二种:有.jks文件的打包
有.jks文件的打包与无.jks文件的打包只有一步的差别。
没有.jks文件时在这一步选择创建一个新的,有.jks文件时在这一步选择一个已有的.jks文件。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第8张图片

在选择里找到之前.jks文件存放的路径。点击OK。
Android开发系列——实战篇3:打包项目代码生成.apk文件_第9张图片

其余步骤都与没有.jks文件时的操作相同。

小结:

1.apk文件的打包有很多种,常规的是release版的打包方式。
2.jks文件就是生成包的密钥,用来防止别人进行反编译重新将你的代码打包生成应用。
3.jks文件是包的密钥,存放的密钥本身有密码。还有一个用来存放密钥的密钥(保险柜key),它也有密码。

你可能感兴趣的:(Android开发系列)