.bundle文件的打包及使用

.bundle文件的打包及使用,第1张

(1.)"Base SDK" 设置为 "Latest iOS (iOS 11.2)" (Xcode 9.2为例)

(2.)Installation Directiotory删除掉后面的路径

(3.)Code Signing Identity 选择 Don't Code Sign

(4.)"iOS Deployment Target" 设置为 iOS 8.0 (为了兼容性,最好岩竖激选择最低版本)

(5.)"Skip Install" 设置为 "NO"

(6.)"Strip Debug Symbols During Copy" 中"Release"模式设置为 "YES"

(7.) "COMBINE_HIDPI_IMAGES" 设置为 "NO"

(1.直接拖项目中,系统会自动导入Copy Bundle Resources里去,2.如下图加进去)

选择创建的bundle 进行编译,开始生成bundle,分别选择真机和模拟器,然后各运行一遍,即可生成真机和粗袜模拟器使用的bundle:

找到生成的bundle,打包上架APP的时候应使用真机模式下运行生成的Bundle,即Debug-iPhoneos 文件夹内的bundle。

因为bundle是静态的,不进行编译的资源文件。所以,要使用bundle中的资源,就需要找到相应的资源路径。

有很多解决办法,我用的是最简单的办法:

就是删除bundle里的执行文件:找到工程中的Image.Bundle,右键单击后 选择 "显示包内容",纤岁找到里面的info.plist文件 ,删除掉Executable file 字段,重新打包,上传应用商店就可以了。

可以拦慎哪。方法如下:

1、在手机桌面找到文件管理,点简码击打开。

2、在分类界面找到压孝裤缩包,点击进去。

3、找到bundle,长按两秒钟选中它,并点击屏幕下方的删除即可。

根据 Google Play的政策 要求,自 2021 年 8 月起,Google Play 将开始要求新应用使用 Android App Bundle(以下简称aab) 进行发布。该格式将取代 APK 作为标准发布格式

正常情况下直接用AS的打包生成aab就可以满足需求,上传到Google play了。

但是会有这么一个问题,并不是所有时候你都可以拿到一个游戏工程或者源码的,如果给你的是一个apk包,那你怎么办呢?

接下来,就向大家介绍如何从apk一步步转化成aab。

解压apk

通过apktool去解压apk包

解压apk后 decode_apk_dir 目录结构:

编译资源

编译资源使用aapt2编译生成 *.flat文件集合

生成compiled_resources.zip文件

关联资源

生成base.apk

解压base.apk

解压到base文件夹,目录结构:

拷贝资源

创建base文件夹,以base文件夹为根目录

将解压得到的resources.pb拷贝到 ./temp/base/resources.pb

将解压得到的res拷贝到 ./temp/base/res

创建manifest文件夹, 将解压得到的AndroidManifest.xml拷贝到 ./temp/base/manifest

拷贝assets , 将 ./temp/decode_apk_dir/assets 拷贝到 ./temp/base/assets

拷贝lib, 将 ./temp/decode_apk_dir/lib 拷贝到 ./temp/base/lib

创建root文件夹,拷贝unknown, 将 ./temp/decode_apk_dir/unknown 拷贝到 ./temp/base/root/unknown

拷贝kotlin, 将 ./temp/decode_apk_dir/kotlin拷贝到 ./temp/base/root/kotlin

root目录下创建META-INF文件夹,得到 ./temp/base/root/META-INF

创建dex 文件夹,将 ./temp/decode_apk_dir/*.dex拷贝到 ./temp/base/dex(多个dex都要一起拷贝过来)

最终的目录结构

压缩资源

将改扮base文件夹,压缩成base.zip 一定要zip格式

注意:压缩后双击打开显示的是租带所有资源,而不是显示base,点击base再显示所有弊歼芦资源;否则会报AndroidManifest.xml找不到的错

编译aab

打包app bundle需要使用bundletool

aab签名

注意 :您不能使用 apksigner 为 aab 签名。签名aab的时候不需要使用v2签名,使用JDK的普通签名就行。

限于篇幅,Aab的测试与安装放在下一篇文章

详见 Aab(Android App Bundle)测试与安装

过程中有问题或者需要交流的同学、独立开发者同学、都可以私信我拉群(加好友的备注下,因为Apk转Aab和独立开发俱乐部,是分开的两个群)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12174367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存