Android apk发布

从LayaAir3.2版本开始, LayaAir Native支持也自动打包,新手也可以一键发布apk,非常易用。

对于资深的开发者, 我们也保留了构建为原生包工程的方案,让开发者更自由的接入第三方的SDK以及扩展。

一、安装构建发布的环境

在构建发布Android之前,我们需要先添加Android的发布环境模块,如图1-1所示,点击文件菜单栏下的添加模块选项,

(图1-1)

如果我们不先添加发布环境,当点击构建Android时,也会弹出安装模块的提示,如图1-2所示。

(图1-2)

如果弹出提示,点击确定,可以自动跳转到安装界面,点击安装,会自动下载并安装好安卓构建所需要的环境。

由于构建工具需的库文件比较大,因此并没有直接包含在LayaAirIDE中,在第一次使用这个工具的时候,会先下载相应的支持模块。

文件较大,下载时需要耐心等待。

二、构建发布

文件菜单中,打开“构建发布”选项,选择Android平台标签,如图2-1所示,

(图2-1)

首先,我们先了解各个常用配置的作用。

2.1 应用ID

应用的包名,这个正常情况下是不可见的。一般采用反域名命名规则(有利于分辨和避免与系统中已经有的APP冲突)。

例如 : com.layabox.runtime.demo

包名必须是 xxx.yyy.zzz 的格式,至少要有两级,即xxx.yyy 。否则打包会失败。

2.2 构建版本号

Native工程的版本,开发者自己定义识别用的。

2.3 打包资源

是否把为当前平台导出的资源(resource目录)打包到native项目中。打包的资源会放到特定的目录中,以供后续生成不同平台的App。

如果希望提供单机版,则必须选择打包资源,即勾选“打包资源”,并且保留“资源服务器URL”为空。把资源直接打进App包中,可以避免网络下载,加快资源载入速度。

把资源打包的缺点是会增加包体的大小。

如果想发布勾选“打包资源”的在线游戏,必须在server端打dcc,否则就会失去打包的优势。

2.4 混淆资源

如果勾选,在打包资源的时候,会随机混淆资源,主要作用是避免在上架的时候被平台扫描到某些敏感函数。

2.5 资源服务器URL

填写服务器地址即可,注意要在地址后加上index.js。

例如:http://192.168.31.109:8000/index.js

2.6 热更新(DCC)

启用DCC后,可以打包资源,也可以不打包。

参考DCC文档

2.7 屏幕方向

参考横竖屏设置

2.8 应用图标

可以设置APP的图标。

2.9 密钥库

分为调试版本和发行版本,用于为应用程序生成数字签名。签名证明了应用的作者身份,并确保应用内容没有被篡改。

2.10 目标架构(CPU)

ARMv7: ARM处理器的32位版本。覆盖大部分旧设备和一些中低端设备。

ARM64: 也称为AArch64或ARMv8,是ARM处理器的64位版本。覆盖大多数现代中高端设备。

x86: 基于Intel的32位处理器架构。主要用于一些较旧的Intel处理器Android设备,在Android设备中使用相对较少。

x86-64: 也称为x64或AMD64,是Intel处理器的64位版本。用于较新的Intel处理器Android设备,在Android设备中使用较少。

2.11 应用程序格式

可以选择APK或AAB格式。

2.12 最小API级别

指定应用运行所需的最低Android版本(API级别)。设备的系统版本必须等于或高于该值,才能安装和运行该应用。

2.13 目标API级别

指定应用设计和测试的目标Android版本(API级别)。它告诉系统应用已针对该版本进行了优化,但仍然可以在更高版本的系统上运行。

2.14 渲染模式

有OpenGL和WebGL两种渲染模式,一般默认选择OpenGL即可。

2.15 导出项目

勾选后,构建发布的项目将不会自动打包成apk包,而是发布为原生包Android Studio工程。

2.16 纹理选项

压缩纹理:一般需要勾选“允许使用压缩纹理格式”,如果不勾选,则忽略所有图片对于压缩格式的设置。

纹理源文件:可以不勾选“始终包含纹理源文件”,如果勾选,则即使图片使用了压缩格式,仍然把源文件(png/jpg)打包。目的是遇到不支持压缩格式的系统时,fallback到源文件。

三、直接打包为apk

默认不勾选导出项目,如图3-1所示,此时会直接生成apk安装包,如果勾选,则会导出Android Studio工程。所以这里重点说明一下。

3-1

(图3-1)

3.1 单机包

资源选项资源服器URL为空时,如图3-1所示,会直接打出一个单机版的apk安装包,如图3-2所示,

3-2

(图3-2)

此时,直接将apk包安装到手机即可。但是,这样的纯单机版应用无法实现资源动态更新,当资源发生变化时,必须更新APP。

3.2 联网包

如果是联网包,则需要填写资源服务器URL,填写后可以不勾选打包资源。发布后需要将resource目录放在服务器中,地址就是发布时填写的url,这样发布的应用就会从服务器加载资源。

如果填写了资源服务器URL,并且勾选了打包资源,那么最终发布的就是一个带资源的联网包。apk中本身包含了资源,但是相比于纯单机的应用,它可以通过DCC更新资源。

四、构建Android Studio工程

构建Android Studio工程,对于资深开发者来说,更加灵活和可扩展。此时,需要准备好Android studio,Android系统版本需要≥4.3。

4.1 构建好的项目工程的使用

构建发布时,如果勾选导出项目,则会导出构建好的 Android studio工程,可以用对应的开发工具打开进行二次开发和打包等操作。

Android Studio工程的门槛较高。如果是新手,不具备相关知识,请先去学习了解相关Android studio的基础开发知识。

这里提供了一篇简单的参考资料:

《Android Studio的使用和配置》

4.2 手动切换单机版和网络版

构建完成之后,可以通过直接在项目中修改代码来切换单机版和网络版。

在构建的项目中打开MainActivity.java,搜索 mPlugin.game_plugin_set_option("localize","false");

单机版需要设置为"true",如mPlugin.game_plugin_set_option("localize","true");

如果要设置为网络版,就要修改为:mPlugin.game_plugin_set_option("localize","false");

并且设置正确的地址:mPlugin.game_plugin_set_option("gameUrl", "http://你的地址/index.js");

反之亦然。

一旦修改了url地址,原来打包的资源就都失效了。这时候,需要手动删除 cache目录下内容,重新用layadcc来生成打包资源,参见LayaDCC工具

4.3 资源

通过IDE构建好工程,

  • 如果选择的是单机版(打包资源)版本,会把所有的h5项目的资源(包括:脚本、图片、html、声音等)全部打包到了这个目录下:

release\android\android_project\app\src\main\assets\cache

  • 如果是联网且不打包资源的版本,资源则使用发布目录下的resource目录(release\resource)。

五、其他注意问题

Android Studio构建完成后,需要根据自己的环境修改android sdk的版本号,需要修改的文件是 app/build.gradle。

Copyright ©Layabox 2025 all right reserved,powered by LayaAir Engine更新时间: 2025-01-08 21:33:15

results matching ""

    No results matching ""