前言 上一篇文章已经给大家详细介绍了如何通过Gradle将我们开发好的Library上传到JCenter,基本上就是一系列配置,最后通过Gradle脚本将Library打包成jar或者aar包上传到maven...本篇博客还是基于Gradle,但稍微进阶一下,将跟大家分享一下如何开发一个Gradle插件,这个插件是我为Bugly开发的自动上传apk文件的Gradle插件,目前已经开源,有兴趣的朋友可以到github...步骤4:接收外部参数 apply plugin: 'com.tencent.bugly.plugin.betauploader' // 应用上传apk插件 // beta配置 beta { appId...apk文件 public Boolean enable = true // 插件开关 public Boolean autoUpload = false // 是否自动上传 public...步骤5: 创建Task 我们最终要实现的是通过task能够将apk文件上传到bugly平台,代码实现如下: /** * 创建上传任务 * * @param variant
文章目录 一、制作 APK 扩展包 二、上传 APK 和 主扩展文件到 Google Play 三、APK 扩展文件上传时机 一、制作 APK 扩展包 ---- apk.txt 内容 : APK 扩展文件测试文本....com.example.app.obb ; 使用该 main.6.com.example.app.obb 文件作为 APK 应用的主扩展文件 ; 二、上传 APK 和 主扩展文件到 Google Play..." 按钮 ; 选择已经加固完成的 APK 文件 , 上传 APK 文件 ; 等待几分钟后 , 上传完成 , 在 APK 列表的 按钮 , 就会弹出以下四个选项 , 选择 " 上传扩展文件 (...; 三、APK 扩展文件上传时机 ---- 在 " 内部测试 " 页面 , 点击刚上传 APK 版本 右侧的 " 查看发布版本详情 " 按钮 , 进入该版本的详细信息页面 , 再次点击 APK 列表的...按钮 , 发现 没有 APK 扩展文件的选项 , 因此如果想要修改 APK 扩展文件 , 只能发布新的 APK 版本 , 在上传 APK 新版本的同时 , 上传扩展包 ;
文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 使用百度加固后的 APK , 签名后 , 上传 , 报如下错误 ; 您上传的 APK 没有经过 Zipalign 处理,请对 APK 运行...Zipalign 工具,然后重新上传。...二、解决方案 ---- 参考 【Android 安全】DEX 加密 ( Java 工具开发 | apk 文件对齐 ) 博客内容 , 进行对齐 ; 加固后的应用 , 先进行对齐操作 , 然后进行签名 ;...注意顺序不要弄反了 ; 对齐命令 : D:\001_Develop\001_SDK\Sdk\build-tools\29.0.2\zipalign -f 4 in.apk in_zipalign.apk...in_zipalign.apk Android 应用 APK 加固后需要手动对齐 , 并签名 ;
文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 中上架 APK 文件 , 报如下错误 ; 您上传的是可调试的 APK 或 Android App Bundle。...详细了解可调试的 APK 和 Android App Bundle。 您上传的是在调试模式下签名的 APK 或 Android App Bundle。...请在发布模式下为 APK 或 Android App Bundle 签名。详细了解签名。...安装包分发应用 , APK 文件大小不能超过 100 MB , 如果超过需要使用 APK 扩展文件 ; 添加或测试 APK 扩展文件 最佳方案 : 应用大小控制 : 尽量将应用控制在 100...: 以最新的 Android 版本作为应用编译的目标版本 ; 版本要求 : 上架的 APK 或 AAB 必须是 release 版本 , 如果是 debug 版本 , 则会报上述错误 ;
APK、Dalvik字节码和smali文件 APK文件 大家都应该知道APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,例如修改后缀后用RAR打开鳄鱼小顽皮...APK能看到的是(Google Play下载的完整版版本): Where’s My Water.zip\ •asset\ •...但是,注意的是最终我们修改APK需要操作的文件是.smali文件,而不是导出来的Java文件重新编译(况且这基本上不可能)。...三、smali文件内容具体介绍 下面开始进一步分析smali中的具体例子,取鳄鱼小顽皮中的WMWActivity.smali来分析(怎么获得请参考下一节的APK反编译之二:工具介绍,暂时先介绍smali...WMWActivity中的一个private函数,如果修改smali时错用invoke-virtual或invoke-static将在回编译后程序运行时引发一个常见的VerifyError(更多错误汇总可参照APK
#PhalApi-APK -- APK文件解包处理 ##前言 应为笔者这边涉及到的项目有需求对APK进行解包的操作,所以贡献此扩展希望大家喜欢 附上: 官网地址:http://www.phalapi.net...安装使用 此扩展只需要简单的把文件放到Library目录下即可使用使用方法如下: $appObj = new Apk_Lite(); $targetFile = a.apk;//apk所在的路径地址...总结 希望此拓展能够给大家带来方便以及实用,拓展支持绝大部分APK文件处理! 注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流! 官网QQ交流群:421032344 欢迎大家的加入!
简介 大部分开发者对apk签名还停留在APK v2,对APK v3和APK v4了解很少,而且网上大部分文章讲解的含糊不清,所以根据官网文档重新整理一份。...apk签名从APK v1到APK v2改动很大,是颠覆性的,而APK v3只是对APK v2的一次升级,APK v4则是一个补充。...使用 APK 签名方案 v2 进行签名时,会在 APK 文件中插入一个 APK 签名分块,该分块位于“ZIP 中央目录”部分之前并紧邻该部分。...所以APK v4与APK v2或APK v3可以算是并行的,所以APK v4签名后还需要 v2 或 v3 签名作为补充。...运行 adb install --incremental 命令时,adb 会要求 .apk.idsig 文件存在于 .apk 旁边(所以APK v4的签名文件.apk.idsig并不会打包进apk文件中
它既能解析一个"单一"APK文件,也能解析一个"集群"APK文件(即一个APK文件里面包含多个APK文件)。...一个"集群"APK有一个"基准"APK(base APK)组成和其他一些"分割"APK("split" APKs)构成,其中这些"分割"APK用一些数字来分割。...APK,即一个应用只有一个APK文件,而Google Play 还允许你为一个应用中发布不同的APK文件,这些APK文件适用于不同的设备,例如:你现在有一个APP叫DEMO1,但是目前由于APK的体积太大或者其他因素导致不能同时适用于手机和平板...一个包由一个"基础"APK和多个"拆分"APK构成。 这个类其实就是通过解析APK而对应的一个"包"的类,这个包代表一个磁盘上的APK安装包。...它自动会检测安装包的模式的是单一APK或者集群APK模式。 这样就可以对"集群APK"的安装包进行理性的检查,比如会检查"base APK"和"拆分APK"是否具有相同的包名和版本号。
与 App Bundle 上传格式问题 ---- 文章目录 Google Play 上架完整流程 系列文章目录 一、当前的应用市场现状 二、Google Play 应用上传格式 三、2021 年 08..." 这里的新应用应该指的是新创建的应用 , 我在 8 月 2 号上传了一个新的应用版本 , 经过测试可以上传 APK 文件 ; 在 Android App Bundle 的未来就在这里 文档中指出如下规则...: 按照上述表格中的描述 , 8 月之后新创建的应用必须使用 AAB 格式 ; 老的应用可以继续使用 APK 格式上传 ; 三、2021 年 08 月 03 日 创建新应用测试 ---- 在 2021...App Bundle ) 的安装包 ; 这里创建一个新应用测试下 , 直接点击 " 立即开始测试 " 模块 ; 拖动上传 APK 文件到下图的红框中 ; 上传完成后报错 , 文件类型错误 ;...2021 年 08 月 03 日 创建新应用 , 只能上传 AAB 格式的应用 , 不能上传 APK 格式的应用了 ; 四、相关文档参考 ---- 相关参考文档 : 使用 App Bundle 资源管理器检查应用版本
之前因为课程需要,也算是粗浅地了解过Linux,但是只是懂得一些编译内核,编译模块的知识,并没有把Linux当做日常使用的操作系统。但是最近因为实验的原因,对L...
文章目录 一、APK 加壳脱壳现状 二、判断 APK 是否加壳 三、APK 逆向流程 一、APK 加壳脱壳现状 ---- 加壳覆盖率很高 : 当前的应用 , 基本上 90% 都会加壳 , 各大加固厂商..., 基本都 提供免费的加壳服务 ; 很难找到不加壳的应用 ; 脱壳场景 : 竞品分析 : 分析竞品 APK 时 , 如果对方加壳 , 需要 先脱壳 , 然后才能分析 ; 恶意操作分析 : 恶意应用一般都会加壳..., 并且加的壳都很特殊 , 需要 先进行脱壳 , 然后才能进行恶意代码分析 ; 二、判断 APK 是否加壳 ---- 如何判断一个 Android 应用是否加壳 : 直接解压观察 : 将应用 APK...; GDA 分析 : 使用 GDA 分析 APK 文件 , 将 APK 文件直接拖动到 GDA 中 , 就会进行自动分析 ; 三、APK 逆向流程 ---- 检测加壳 : 使用检测工具 如 GDA 等..., 判断 APK 文件是否加壳 ; 根据加壳的相关指纹信息 , 判断加的是哪种壳 ; 脱壳 : 针对 APK 加壳类型 , 进行 脱壳 ; 反编译 : 使用 反编译工具 如 ApkTool , JEB
第一步:下载逆向助手 第二步:将apk文件拷贝到逆向助手的apktool目录,在逆向助手的apktool目录下按住shift同时点击鼠标右键,选择“在此处打开命令窗口,即CMD” 第三步:在cmd命令行中输入命令...apktool d -f 应用程序名,得到以apk名字命名的文件夹,里面可以直接看到res目录下的资源文件和Android的清单文件,但是看不到Java文件 第四步:双击打开Android逆向助手....exe,选中“提取dex”操作,然后将lib\apktool目录下的apk拖动到源文件中;点击“操作”,得到dex文件 第五步:选中“dex转jar”操作,然后将得到的dex文件拖动到源文件中;点击
Android Studio 2.2包含了APK Analyzer,通过它我们能够直观地看到APK的组成。使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小。...(译注:新版APK和旧版APK之间文件大小的差异) 这里有3种方法访问APK Analyzer: 拖拽APK到Android Studio的编辑窗口。 切换到Project视图,并且双击APK文件。...在菜单栏中选择Build > Analyzer APK,并且选择APK。 注意:当使用APK Analyzer分析debug的APK,请使用Build > Build APK生成的APK。...APK Analyzer不能分析通过Instant Run生成的APK,判断APK是否是Intant Run生成的可以通过看APK中是否有instant-run.zip文件。...在发布一个新版APK之前,在APK Analyzer中导入你即将发布的APK。在右上角点击Compare With,选择上一个版本的APK,点击OK。
当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,今天分享如何解决因签名验证而出现的闪退现象。
// 该属性如果设置了 false,则系统在安装系统的时候不会把so文件从apk中解压出来了 // 同时修改了System.loadLibrary 直接打开调用apk中的.so文件。...安装包,解析这个目录下的所有APK安装包。...同样也执行例行检查,比如检查"base APK"和"拆分APK"是否有相同的安装包包名和版本号。..."的manifest 注意:由于对"拆分APK"限制比较多,所以像"base APK"的很多功能在"拆分APK"中已经省略了。...注意:由于对"拆分APK"限制比较多,所以像"base APK"的很多功能在"拆分APK"中已经省略了。 这个方法主要就是解析几个对应的标签。
【连载】聊聊 APK——直接运行 Dex文件的黑魔法【连载】聊聊 APK(二)——Dex 热修复与 Classpath【连载】聊聊 APK(三) —— Android 资源编译的秘密 终于来到了这一个章节...生成 APK 之前的检查 接下来其实我们代码上的准备工作基本做完了,在进行最后几步之前,我们再来温习一下一个正常 apk 的结构 classes.dex 资源文件 resources.arsc 签名摘要..._ app-debug.apk 拿到了一个 apk(其实是zip文件),然后把 classes.dex 加进去。...apksigner verify --verbose app.apk apksigner is a tool for signing Android APK files and for...再次安装 APK 到了激动人心的时候了,这时候我们调用安装,安装成功! 再看手机桌面上,有我们的图标了: 大胆点击它! 好了,至此聊聊 APK 系列完结了,感谢 Gemini 老师的付出。
首先说一下,何为反编译,简单地说,从源码开始,经过集成开发环境编译以及签名之后得到apk文件的这个过程,我们称之为“编译”;“反编译”的话,顾名思义,粗略地说就是与“编译”相反的过程咯,也就是从apk文件开始...接着再说一下apk文件。...我们找来一个Apk文件 (可以下载一个软件的安装包来做实验,或者自行用Android studio通过签名生成apk文件(对签名生成apk不了解的同学,可以戳一下这里详细了解一下);这里用的就是撰写本文时用...Android studio通过签名生成的apk文件app-release.apk), 然后使用普通解压工具(如WinRAR、360解压等)直接解压app-release.apk,可以得到文件夹app-release...所以本文讲的反编译主要是比较理想的apk条件环境,即面向开源的没有添加负责混淆规则的apk文件。让大家对反编译有一个基础的了解。
反编译介绍 背景:在adb install安装apk时我们通常出现各种各样的无法安装的问题。...目的:鉴于部分apk无法安装我们又无法知道原因时,我们需要用到工具apktools进行Apk的反编译 使用原因:为什么要反编译APK呢?...直接将Apk的后缀改成.zip不是也可以直接查看需要的内容吗?...答案:更改apk的后缀.apk为.zip时打开zip中的文件时你会发现是乱码,所以我们需要使用工具进行反编译 需要环境:Window+jdk8 实战教程 测试apk:小米运动 apktool工具下载地址...minSdkVersion:最小的SDK版本.运行该APK的安卓SDK最低版本要求 targetSdkVersion:向上兼容版本.APK的运行的最高版本 补充内容 sdk对应android版本:
使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小。使用APK Analyzer,你能够实现: 查看APK中文件的绝对大小和相对大小。...(译注:新版APK和旧版APK之间文件大小的差异) 这里有3种方法访问APK Analyzer: 拖拽APK到Android Studio的编辑窗口。 切换到Project视图,并且双击APK文件。...v=ZiP3BGVpE9E 注意:当使用APK Analyzer分析debug的APK,请使用Build > Build APK生成的APK。点击Run将会生成Instant Run的APK。...APK Analyzer不能分析通过Instant Run生成的APK,判断APK是否是Intant Run生成的可以通过看APK中是否有instant-run.zip文件。...在发布一个新版APK之前,在APK Analyzer中导入你即将发布的APK。在右上角点击Compare With,选择上一个版本的APK,点击OK。
这将取代 APK 作为标准发布格式。 借助 AAB,Google Play 会基于用户设备的配置和语言,使下载到手机中的应用占用空间更小。...这种优化意味着通过 AAB 分发的应用比传统 APK 格式平均占用空间少 15%。终端用户也能获得更快的安装速度和更多的可支配存储空间。...以下是 AAB 格式的一些优势: Android App Bundle:Google Play 使用 App Bundle 来生成和优化 APK,以便针对不同的设备配置和语言进行分发。...Asset Delivery 的游戏可以使用纹理压缩格式定位,因此你的用户只得到适合其设备的资产,没有浪费空间或带宽; 未来的改进:很快,Play App Signing 将开始向选定的应用程序推出 APK...图片 除了 APK 将被替换为新的 AAB 以外,开发者还需要用 Play Asset 或 Feature Delivery 替换大型扩展文件(OBB)。
领取专属 10元无门槛券
手把手带您无忧上云