高性能diff&patch算法 -- 如何将微信Apk的官方增量包20.4M缩小到7.0M 作者: HouSisong@GMail.com 2018.03.16 ---- 什么是diff&patch算法 原理抽象概述: … … ---- 3种有效的diff算法 增量压缩流 同步流 覆盖线流 其他:按行、按文件等… ---- 增量压缩diff算法 最容易实现的可以自己diy出来的一种有效算法 寻找一种高效的基础压缩算法 实现技巧: 拼接old+new一起压缩,输出new部分压缩得到的编码
大部分开发者对apk签名还停留在APK v2,对APK v3和APK v4了解很少,而且网上大部分文章讲解的含糊不清,所以根据官网文档重新整理一份。
一、背景介绍 近日,Android平台被爆出“核弹级”漏洞Janus(CVE-2017-13156),该漏洞允许攻击者任意修改Android应用中的代码,而不会影响其签名。 众所周知,Android具有签名机制。正常情况下,开发者发布了一个应用,该应用一定需要开发者使用他的私钥对其进行签名。恶意攻击者如果尝试修改了这个应用中的任何一个文件(包括代码和资源等),那么他就必须对APK进行重新签名,否则修改过的应用是无法安装到任何Android设备上的。但如果恶意攻击者用另一把私钥对APK签了名,并将这个
一、背景介绍 近日,Android平台被爆出“核弹级”漏洞Janus(CVE-2017-13156),该漏洞允许攻击者任意修改Android应用中的代码,而不会影响其签名。 众所周知,Android具有签名机制。正常情况下,开发者发布了一个应用,该应用一定需要开发者使用他的私钥对其进行签名。恶意攻击者如果尝试修改了这个应用中的任何一个文件(包括代码和资源等),那么他就必须对APK进行重新签名,否则修改过的应用是无法安装到任何Android设备上的。但如果恶意攻击者用另一把私钥对APK签了名,并将这个修改过的
apksigner是Google官方提供的针对Android apk签名及验证的专用工具,
让我们将这一原则应用到 Android App 开发中。我们将玩转一个称为“ApkGolf”的 APK,目的是创建一个尽可能具有最少字节数的 App,并可安装在运行 Oreo 的设备上。
链接:https://juejin.im/post/5c984e926fb9a070c975a9b4
SDK(Software Development Kit)是软件开发工具包的缩写,一般来说,SDK是用于给开发人员提供进行应用程序开发的工具的,这样程序员就可以快速的开发出应用软件,省去了编写硬件代码和基础代码框架的过程,我们常见的Android SDK就属于这一类。除了这种比较大的SDK,我们平时开发的library也属性SDK,只不过功能比较单一,适用的场合也比较简单,如短视频SDK、推送SDK,分享SDK等。 而我们所做的游戏SDK主要是用于第三方游戏开发接入我们的账号体系和支付体系,类似于友盟分享等聚合SDK。
话说从Eclipse转化到Android Studio后,一直都没打个包,发个版本,今天想提交测试打个版本,丫的一看,和Eclipse不一样了。在此记录下,顺便拓展下其他小知识点,方便你我他。
去年从平安离职之后,加入了一家游戏公司,负责游戏SDK相关的业务开发和维护工作,经过半年来的摸索,对于游戏SDK的开发有了一定的理解,下面就对游戏SDK开发涉及到的知识点进行简单的梳理。
数字签名它是基于非对称密钥加密技术与数字摘要算法技术的应用,它是一个包含电子文件信息以及发送者身份,并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。 Github地址: https://github.com/ltlovezh/ApkChanne
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。Github地址是https://github.com/ltlovezh/ApkChannelP
近期更新Android应用可要注意了,不要随意点个链接就升级,你的正宗应用可能升级成山寨应用哦。 Google在12月发布的安全公告中提到的“Janus”漏洞,可使攻击者在不改变原应用签名的情况上,注入恶意代码。
我们知道,一款Android 要发布的话,必须经过签名,Android目前支持的签名方式包括三种:
通过对 Apk 进行签名,开发者可以证明对 Apk 的所有权和控制权,可用于安装和更新其应用。而在 Android 设备上的安装 Apk ,如果是一个没有被签名的 Apk,则会被拒绝安装。
生成签名文件:其实是有很多工具可以做到,这里不过是想用命令来生成 其命令如下:生成的签名默认在c盘根目录下 keytool -genkey -alias aaaa.keystore -keyalg RSA -validity 2000 -keystore newandroid.keystore 备注说明:-alias后面跟着的是别名(android.keystore) -keystore后面跟着的是具体的签名文件(及签名文件的命名–newandroid.keystore) 当使用这个命令生成后,会有个警告,不符合pkcs12标准,需要消除掉(也可以不消除),使用如下命名: keytool -importkeystore -srckeystore android.keystore -destkeystore newandroid.keystore -deststoretype pkcs12 将上面的android.keystore签名迁移到newandroid.keystore中,其各种参数不变。 截图如下
了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改。
Android Studio 2.2以上版本打包apk的时候,我们会发现多了个签名版本(v1、v2)选择,如下图红色方框所示
本文档基于谷歌Android 11 Developer Preview 4(DP4)版本的变更输出
上述之前在其他文章里面也常见的图,而这张图讲述一个APK的诞生流程,可以分为以下的几个流程
最近在提交测试的时候,用Android Studio给测试打了个包,如下图,我打包时,没注意选择Signature Versions,结果测试就找来了,说给他的包安装失败。。。
apk 是Android Package的简写, 在平时的开发过程中,通过点击Run app 按钮 或者 在命令行中输入
关于如何多渠道打包,以下文字详细解答了Android如何实现多渠道打包以及快速打包。
在Android Studio中,我们几乎每天都在用run,generate APK等功能。
去年我写了一个Android网络框架Novate, 基于Retrofit和RxJava封装的链式网络框架, 支持okhttp的调用分格,又兼容Retrofit注入方式,并支持RxJava调用的链式操作, 不仅支持开发者自己扩展,还沿用Okhttp的高效的网络加载!最重要的novate自带的异常驱动机制,帮开发者解决了绝大部分的异常 错误处理,减少API或者业务代码出错的导致崩溃概率。
在Android 7.0(Nougat)推出了新的应用签名方案APK Signature Scheme v2后,之前快速生成渠道包的方式(美团Android自动化之旅—生成渠道包)已经行不通了,在此应用签名方案下如何快速生成渠道包呢? 本文会对新的应用签名方案APK Signature Scheme v2以及新一代渠道生成工具进行详细深入的介绍。 新的应用签名方案APK Signature Scheme v2 Android 7.0(Nougat)引入一项新的应用签名方案APK Signature Sch
本文档基于谷歌Android 11 Developer Preview 4(DP4)版本的变更输出,后续Beta版如有新的变更和特性,我们会刷新文档的相关章节内容,请开发者持续关注。
Android为了保证系统及应用的安全性,在安装APK的时候需要校验包的完整性,同时,对于覆盖安装的场景还要校验新旧是否匹配,这两者都是通过Android签名机制来进行保证的,本文就简单看下Android的签名与校验原理,分一下几个部分分析下:
本文我将给大家介绍一个 apk 打包工具 VasDolly 的使用介绍、原理以及如何在服务端接入 VasDolly 进行服务端打渠道包操作。
我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行。签名就代表着自己的身份即keystore。小编所在项目,遇到应用被恶意篡改的情况。新版本客户端加入了在线签名逻辑以及防止二次签名逻辑。小编对相关知识加深了理解,并运用在项目测试中,分享给大家。
若第三方杀毒引擎提示您的应用存在安全风险,应用安全则会拒绝您的上传、同时拒绝对应用进行加固。一旦出现该情形,建议您检查应用中是否存在违规行为。若您将该应用发布出去,极大可能被渠道市场拒绝、无法在用户手机安装。对于此类应用,加固能否成功并非最核心要素,因为渠道分发、用户手机都会有类似的安全扫描,应用安全采信的第三方杀毒引擎也极有可能被各分发市场、用户手机上安装的安全软件采信。该类应用正真的问题在于,很难发布到正规市场、安装到用户手机上去,而非无法加固。
根据Google的Android开发团队发布的新版本Android系统概述,下一个Android版本(Android P或Android 9.0)大家应该很快就可以“吃”上了。文件表示,Google在2018年第三季度的版本推送计划将在三个月左右的时间内实施完成:
之前有多个游戏遇到关于签名错误的问题,加上有些游戏开发不熟悉Android签名校验的机制以及打包的方法,就专门总结了一下,现在整理一下。 首先放上官方文档链接:http://developer.android.com/tools/publishing/app-signing.html 什么是签名 就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是个加密的过程,数字签名验证是个解密的过程。 为什么有签名 最简单直接的回答: 系统要
背景介绍: 一般开发者会指定使用自己创建的证书,如果没有指定,则会默认使用系统的证书,该默认的证书存储在C:\Users\admin.android\debug.keystore,不同的电脑可能安装不同路径。一个签名证书文件中,是包含一对公私钥,用私钥对apk进行签名,在安装到android手机时,系统会使用证书中对应签名私钥的公钥来验证,查看apk是否被更改过,如果没有则可以安装在手机上。任何的app store都不允许使用默认的debug.keystore打包的apk发布上去,因为debug.keystore的密码是默认的,不安全。 一,没有签名的APK无法安装 Android的APK要进行签名才能够安装到手机上,这是因为在安装的时候系统会进行检测,平时我们直接点AS里面那个绿色的运行按钮也能够直接安装到手机上,这是因为其实它也进行了签名,只不过AS自动帮我们做了这个操作有个默认的签名
简历上列举的项目多想想,为什么做这个项目?做这个项目的目标是什么?我的方案是什么?相对其他方案我的方案优势是什么?项目的收益是什么?项目的架构图是否能画出来?项目中使用的主要框架原理是否前前后后都清楚?(我大概就是项目拯救了自己,基础准备有点仓促T^T)。
这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险;如何批量修改生成的apk文件名,这样我们就可以修改成我们需要的,从文件名中就可以看到渠道,版本号以及生成日期等信息,这多方便啊;还有其他突破65535方法的限制等等。
ApplicationScanner是一个快速稳定的App代码扫描工具,该工具基于Python3.7实现其主要功能,apk检测部分需要JDK 11的支持,因此具备较好的跨平台特性,目前支持在Linux和Mac系统上使用,暂不支持Windows。
1.项目配置gradle环境 Mac Android开发环境变量的配置(java、sdk、ndk、gradle) gradle -version Permission denied - in mac terminal 2.build.gradle 配置 在项目的build.gradle配置 android { ... signingConfigs { debug { storeFile file(pStoreFile)
hide命令:系统会发送广播 android.intent.action.PACKAGE_REMOVED,data数据并不会删除 unhide命令:系统会发送广播android.intent.action.PACKAGE_ADDED,data数据不会删除
1.项目配置gradle环境 Mac Android开发环境变量的配置(java、sdk、ndk、gradle) gradle -version Permission denied - in mac terminal 2.build.gradle 配置 在项目的build.gradle配置 android { signingConfigs { debug { storeFile file(pStoreFile) storePassw
Google 2017年12月的Android安全公告中提到了一个漏洞,该漏洞能让攻击者绕过应用程序签名验证并将恶意代码注入Android应用程序。 移动安全公司GuardSquare的研究团队发现,该漏洞存在于Android操作系统读取应用程序签名的机制中。 漏洞编号 CVE-2017-13156 漏洞等级 高危(High) 影响范围 5.1.1 6.0 6.0.1 7.0 7.1.1 7.1.2 8.0 漏洞详情 来自GuardSquare公司的研究人员表示,Android操作系统会在各个位置检查字
Android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用WebView.addJavascriptInterface方法,远程攻击者可通过使用Java Reflection API利用该漏洞执行任意Java对象的方法,就是通过addJavascriptInterface给WebView加入一个JavaScript桥接接口,JavaScript通过调用这个接口可以直接操作本地的JAVA接口。
其实上架 Google 很 easy,按照官方说明,少搞些小动作,本本分分、规规矩矩,easy 的很。
目前我需要一个boolean, 一个请求的url, config.url =http://10.1.64.42:9082/insure-pad/padServer.do, config.bool = false 我想加快apk打包速度啊, 一方面是还在用eclipse, 二来如果用普通的gradle的farvor方式还是不够快,美团都有v2方案了, 自己搞一搞比较有意思而已
领取专属 10元无门槛券
手把手带您无忧上云