首页 > 其他分享 >手动打包Apk文件以及Aab

手动打包Apk文件以及Aab

时间:2024-06-05 16:31:40浏览次数:14  
标签:layout Aab -- jar Apk json v4 drawable 打包

参考文档:https://developer.android.google.cn/studio/build/building-cmdline#bundletool-build

工具:bundletool.jar apktool.jar android.jar aapt

  • 下载地址:bunletool:https://github.com/google/bundletool/releases
    
            apktool: https://bitbucket.org/iBotPeaches/apktool/downloads/
                        
            aapt2:https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/4.2.2- 7147631/aapt2-4.2.2-7147631-windows.jar (自己根据需求去换版本和平台)

工作流程

解包

apktool d xxx.apk -s -o dic
  • 通过apktool工具对apk进行解包操作 可以得到如下目录(这是-o的输出 加上-s之后会将smail将会是dex文件)

编译资源

aapt2 compile apk_source/res -o xxx.zip

这一步 如果是在windows上运行 需要输出zip文件 不然链接资源会报错

这个zip文件之中会有很多的flat文件 全是依据res目录下的资源文件生成

链接资源

aapt2 link --proto-format -o output.apk \ -I ./android.jar \ --manifest ./AndroidManifest.xml \ -R compiled_resources/*.flat \ --auto-add-overlay

官网文档:https://developer.android.google.cn/tools/aapt2?hl=fi

这一步会生成一个.apk文件 但是不能直接使用 里面包含了一个AndroidManifest resource.pb res 

复制文件进入apk

.
├── assets
│   ├── ad_loder.json
│   ├── anim_rate_star.json
│   ├── anim_res
│   ├── anim_star_1to4.json
│   ├── animation_loader_1.json
│   ├── animation_new.json
│   ├── arrow.json
│   ├── config.json
│   ├── fonts
│   └── load_spinner.json
├── dex
│   ├── classes.dex
│   └── classes2.dex
├── lib
│   ├── arm64-v8a
│   └── armeabi-v7a
├── manifest
│   └── AndroidManifest.xml
├── res
│   ├── anim
│   ├── anim-v21
│   ├── animator
│   ├── animator-v21
│   ├── color
│   ├── color-v21
│   ├── color-v23
│   ├── drawable
│   ├── drawable-anydpi-v21
│   ├── drawable-ldrtl-mdpi-v4
│   ├── drawable-ldrtl-xxhdpi-v4
│   ├── drawable-mdpi-v4
│   ├── drawable-v21
│   ├── drawable-v23
│   ├── drawable-watch-v20
│   ├── drawable-xhdpi-v4
│   ├── drawable-xxhdpi-v4
│   ├── font
│   ├── interpolator
│   ├── interpolator-v21
│   ├── layout
│   ├── layout-land
│   ├── layout-sw600dp-v13
│   ├── layout-v21
│   ├── layout-v22
│   ├── layout-v26
│   ├── layout-watch-v20
│   ├── menu
│   ├── mipmap-hdpi-v4
│   ├── mipmap-xhdpi-v4
│   ├── mipmap-xxhdpi-v4
│   ├── mipmap-xxxhdpi-v4
│   ├── raw
│   └── xml
├── resources.pb
└── root
    ├── androidsupportmultidexversion.txt
    ├── kotlin
    ├── okhttp3
    └── protolite-well-known-types.properties
  • 目录结构如上所示 dex assets这些在进行解包操作的时候都可以看到

生成压缩包

zip -r base.zip

记得是进去文件夹 选中全部文件进行压缩

生成aab

java -jar /mnt/d/CodeSource/buildaab/bin/bundletool.jar build-bundle --modules=base.zip --output=wall.aab

aab转apks

bundletool --export-apks --input=app.aab --sign=test.keystore --pwd=123456

安装apks

bundletool install-apks --apks=app.apks

标签:layout,Aab,--,jar,Apk,json,v4,drawable,打包
From: https://blog.csdn.net/L2798537495/article/details/139470340

相关文章

  • JAVA:实际工作中,项目上线——打包war,并部署到Tomcat中运行(史上最详细教程)
    每日一讲希望每天叫醒你的不是闹钟,而是梦想!目录每日一讲1.部署原因1.1Tomcat介绍 2.Tomcat下载及安装2.1Tomcat下载2.2Tomcat在IDEA上部署​2.3解决Tomcat乱码问题3.打包war文件,并在Tomcat目录下运行3.1打包文件3.2Tomcat环境配置3.3Tomcat运行1.部署原因......
  • idea打包运行后显示,没有主清单属性
    一、问题现象idea打包成jar包,运行后显示,没有主清单属性!二、问题分析主要原因如下:1.缺少了项目maven打包插件spring-boot-maven-plugin。2.没有指定具体的项目的Main方法入口或启动类。三、解决方法(一)方法11、查看项目打包的pom.xml文......
  • uniapp打包Android跟iOS禁用录屏截屏
    1.禁用截屏和录屏的目的保护敏感信息:防止用户截屏或录屏分享应用中的敏感信息,如个人隐私数据、金融信息、商业机密等。版权保护:保护应用中的版权内容,如视频、图片、文本内容,防止未经授权的复制和传播。数据安全:防止恶意用户利用截屏或录屏功能进行信息盗取,增加应用的数据......
  • ADB导出app到电脑生成apk文件
    查找需要导出应用的包名方法一:查找设备上所有应用包名adbshellpmlistpackage方法二:监控设备接下来打开的应用adbshellammonitor查找应用备份包位置adbshellpmpath包名导出文件到电脑adbpull备份包位置本机存放文件地址示例:adbpull/data/app/~~pnUI_O......
  • [工具] png图片打包plist工具,手把手教你使用pngPackerGUI_V2.0
    png图片打包plist工具,手把手教你使用pngPackerGUI_V2.0此软件是在pngpacker_V1.1软件基础之后,开发的界面化操作软件,方便不太懂命令行的小白快捷上手使用。1.下载并解压缩软件,得到如下目录,双击打开pngPackerGUI.exe 2.打开pngPackerGUI之后,默认的界面如下: 3.选择目录:选......
  • springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行解决方法
    问题描述:springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行说明:以下两种打包方式均在IDEA软件内完成,上传服务器使用宝塔面板管理1.第一次打包方式; 设置完打包路径后,进入build菜单进行打包:  选择build或rebuild进行打包,打包后上传jar包到服务器,运......
  • Pyinstaller打包exe的反编译——LitCTF 2024(公开赛道)ezpython!!!!!
    这个工具折磨了我很久,搭配题目记录一下...题目Die打包工具:PyInstaller建议下载GitHub的:GitHub-extremecoders-re/pyinstxtractor:PyInstallerExtractor单独的一个 pyInstaller.py 会很麻烦步骤:将exe拖到pyinstxtractor-master文件夹下面,打开cmdpythonpyinstx......
  • Alpine Linux apk add DNS lookup error
    起因最近做了需要做几个基础镜像,Dockerfile来自Github某仓库,镜像使用的是AlpineLinux3.18,且这个镜像已经更改过软件包管理器apk所使用的软件包仓库(记住这句话),后面基于这个镜像我还需要额外加了一些其他软件包,Dockerfile大致如下FROM某个第三方镜像:alpine-3.18..........
  • xcode 15打包报错
    1、报错信息Assertionfailed:(aliasSectionNum==sectionNum&&"aliasanditstargetmustbelocatedinthesamesection"),functionassignAliasAtomOffsetInSection,fileLayout.cpp,line3358.Linkercommandfailedwithexitcode1(use-vto......
  • HTML一键打包工具1.9.96更新发布, 新增自动保存窗口状态, 优化一机一码功能 (附下载地
    HTML一键打包EXE工具是一款强大的HTML转EXE程序,能够将任意HTML项目或网页转换为独立的EXE文件。您无需额外安装浏览器或服务器,用户只需简单双击即可运行项目。无论您是在制作KRPano全景VR项目,开发WebGL游戏(如Egret、Cocos、RPGMVMaker),还是需要打包课件或网站,这款工具都能帮助您......