一、前言

上篇 (原创)【B4A】一步一步入门03:APP名称、图标等信息修改 中我们将APP做成了标准的样子。

本篇文章会讲解如何将程序打包成APK文件以分发,同时讲解如何制作私钥并签名APP,以用来后续的上架应用商店。

相信看完的你,一定会有所收获!

本地地址:https://www.cnblogs.com/lesliexin/p/17139222.html


二、编译模式与打包为APK文件

在前面的文章中,我们编译的APP虽然已经在安卓手机的桌面上了,但是当结束调试后,点击APP图标,却无法启动APP,而是会显示一行提示信息,如下图所示:

这是因为我们的默认编译模式是“Debug”,此种编译模式是为了调试时使用,并不会真正的生成APP。

B4A的编译模式有三种:Debug、Release、Release(obfuscated)

在正式发布时,我们切换到Release或Release(obfuscated)即可打包生成APK文件。其中“Release(obfuscated)”与Release一样,不过会额外将源代码进行混淆,增加反编译的难度。

打包好的APK在项目的固定目录下:

我们将此APK文件重命名后,即可通过聊天软件、邮箱等发送给别人安装使用。


三、私钥签名

在默认情况下,B4A在编译时使用的是“调试密钥”进行APP签名,这种密钥是无法上架应用商店的。

所以就需要创建自己的私有密钥。创建流程如下:

我们编译程序,可以看到现在是使用我们的私钥进行的签名。


四、总结

到本篇,一个APP的完整开发流程就结束了,可以看到,使用B4A开发安卓APP,是非常简便的,特别适合未接触过安卓原生开发的人员。

后续篇章将会更加细化的讲解B4A的方方面面,敬请期待。


-【END】-

(原创)【B4A】一步一步入门04:编译模式、打包为APK、私钥签名的更多相关文章

  1. 【转】一步一步带你反编译apk,并教你修改smali和重新打包

    一.工具介绍: 1.apktool:aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使用,用来反编译apk,apk重新打包: 2.dex2jar:该工具作用是将cl ...

  2. (原创)【B4A】一步一步入门02:可视化界面设计器、控件的使用

    一.前言 上篇 (原创)[B4A]一步一步入门01:简介.开发环境搭建.HelloWorld 中我们创建了默认的项目,现在我们来看一下B4A项目的构成,以及如何所见即所得的设计界面,并添加和使用自带的 ...

  3. [C#] (原创)一步一步教你自定义控件——04,ProgressBar(进度条)

    一.前言 技术没有先进与落后,只有合适与不合适. 本篇的自定义控件是:进度条(ProgressBar). 进度条的实现方式多种多样,主流的方式有:使用多张图片去实现.使用1个或2个Panel放到Use ...

  4. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  5. [转]Membership三步曲之入门篇 - Membership基础示例

    本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例   Members ...

  6. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  7. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂

    (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...

  8. ASP.NET 安全系列 Membership三步曲之入门篇 - Jesse Liu

    Membership 三步曲 ASP.NET 安全系列 Membership三步曲之入门篇 ASP.NET 安全系列 Membership三步曲之进阶篇 ASP.NET 安全系列 Membership ...

  9. 一步一步理解 python web 框架,才不会从入门到放弃 -- 开始使用 Django

    背景知识 要使用 Django,首先必须先安装 Django. 下图是 Django 官网的版本支持,我们可以看到上面有一个 LTS 存在.什么是 LTS 呢?LTS ,long-term suppo ...

  10. [C#] (原创)一步一步教你自定义控件——01,TrackBar

    一.前言 技术没有先进落后之分,只有合不合适. WinForm有着非常多的优点,在使用WinForm久了之后,难免会觉得WinForm自带的某些控件外观上有些许朴素.或者功能上有些不如意,自然而然便想 ...

随机推荐

  1. Bugku md5 collision

    题目名字都叫md5碰撞,那就肯定和md5碰撞脱不了关系了 打开题目,首先让我们输入a 行吧,随意post一个a=1进去 结果提示flase 这里应该是有特殊值,我们找找看 查看源码,抓包 没找到 试试 ...

  2. Crypto - Caesar I

    原题链接:http://www.wechall.net/challenge/training/crypto/caesar/index.php 告诉我们这是个古凯撒密码,让我们解...我们百度下古凯撒密 ...

  3. Chrome 103支持使用本地字体,纯前端导出PDF优化

    在前端导出PDF,解决中文乱码一直是一个头疼的问题.要解决这个问题,需要将ttf等字体文件内容注册到页面PDF生成器中.但是之前网页是没有权限直接获取客户机器字体文件,这时就需要从服务器下载字体文件或 ...

  4. python调用程序路径中包空格,及包含特殊字符问题

    解决办法 import os s = r'"C:\Program Files\Google\Chrome\Application\chrome.exe"' print(s) os. ...

  5. 第2-4-7章 docker安装WorkBench-规则引擎Drools-业务规则管理系统-组件化-中台

    目录 8. WorkBench 8.1 WorkBench简介 8.2 安装方式 8.2.1 传统方式安装 8.2.2 docker安装drools workbench 8.3 使用方式 8.3.1 ...

  6. day10 Test

    public class Test{ public static void main(String[] args){ fun1(); } /**1. * 有2个数组,第一个数组内容为:[黑龙江省,浙江 ...

  7. 深入浅出Seata的AT模式

    目录 一.业务背景 二.Seata架构 1.核心组件 2.AT模式 三.案例分析 1.流程分析 2.写隔离 3.读隔离 四.对比XA模式 五.参考源码 单个掉队,导致集体被动摆烂: 一.业务背景 在分 ...

  8. JavaScript入门⑨-异步编程●异世界之旅

    JavaScript入门系列目录 JavaScript入门①-基础知识筑基 JavaScript入门②-函数(1)基础{浅出} JavaScript入门③-函数(2)原理{深入}执行上下文 JavaS ...

  9. placeholder属性作用

    placeholder属性作用 1.介绍 该提示会在输入字段为空时显示,并会在字段获得焦点时消失. 注释:placeholder 属性适用于以下的 <input> 类型:text, sea ...

  10. Qt对象跨线程出现的问题记录,以及解决方案

    Qt在跨线程开发的时候可能会出现不少问题,在这里记录一下 Qt目前用下来还是非常强大的,虽然只是用在桌面端程序开发上,但是其强大的桌面开发库真的挺好用的(Layout除外,你妈死了). Qt除了UI, ...