因为app开发者常常需要统计app在不同渠道的使用量,所以app安装包就得按照不同的渠道号分别打包。至于为什么要进行使用量的统计,可参见《Android开发笔记(一百零七)统计分析SDK》,现在我们以友盟统计为例,演示一下如何在Eclipse环境实现多渠道打包的功能。 代码工程导入了友盟统计分析的sdk后,还需在AndroidManifest.xml中定义当前发布包的渠道号,如下所示:
我们知道Android加混淆之后,代码的安全性得到了提高,即使你hook,反编译得到的也是乱码的,对于阅读性造成了影响,为了增强代码的破解难度,我们通常退对apk进行加固,常见的有腾讯,360,爱加密
已不推荐本方法,多渠道打包请看【Android】Walle多渠道打包&Tinker热修复。 现状 多渠道打包,相信很同学都知道。在Android Studio中只要经过配置,就能打出对应市场的渠道包。打过包的同学可能都会有这样的感受:散热器疯狂地转、打包速度那叫一个慢。这时候除了无奈,还是无奈~~ 场景 (讲一个我现实中遇到的情况) 今天APP要发布,已经是晚上八点多。这时候功能已经测得差不多了,老大说可以打包了。美好的时光即将到来,打完包就可以回家了,这个点还能回家撸几把。想到这里就有点小激动 一共要
问题:辅助工具 -> 多渠道打包,针对乐固加固包进行多渠道打包失败。(未加固的包可以进行多渠道打包)
首先需要知道V1,V2,V3签名的区别,可以参考之前的文章:AndroidV1,V2,V3签名原理详解
tinker官方文档推荐用walle或者packer-ng-plugin来辅助打渠道包。估计有不少同学用过,今天我想推荐另外一款多渠道打包的插件ApkMultiChannelPlugin,它作为Android Studio插件进行多渠道打包。 安装步骤:打开 Android Studio: 打开 Setting/Preferences -> Plugins -> Browse repositories 然后搜索 ApkMultiChannel 安装重启。 有不了解的同学,可以直接看它的文档。
序言:由于公司的某些方面原因,LZ最近都处于找工作的状态,年关了,最关键的LZ还只是个没毕业的孩子,所以工作越来越不好找了,到哪里投简历都是动不动就好几年经验,这让我们这些没经验的渣渣还怎么活啊!好了,也不吐槽那么多了,这几天到处去投简历,到处去面试,培训机构,外包公司这些都经历了个遍,总结了一下面试的时候的面试笔试题(如有错误,请及时纠正)
先说下为什么有这篇文章吧,最近在写一个应用需要进行系统签名;每次我都需要先将apk生成然后使用sign.jar和系统证书进行签名,非常的麻烦而且tmd还是搞两个系统也就是每次都需要用两个系统证书分别进行签名…
App推广运营人员每天最关心的就是渠道数据的变化,毕竟这是衡量工作效果的直接方法。但渠道数据的获取有哪些要点,你真的清楚吗?今天让我们简单了解一下App渠道统计的基础知识,以及高效的统计方法。
加固过程中会破坏apk的签名文件,此时直接安装时会出错,找不到签名。因此需要重新签名,重签名后的apk签名文件和原来的保持一致就不会影响更新应用。
VasDolly VasDolly是一个极速多渠道打包组件,同时支持基于V1和V2签名进行渠道打包。组件本身会自动检测Apk使用的签名类别,并选择合适的多渠道打包方式,对使用者来说完全透明。 V1.1.6版本已支持Android Gradle Plugin 3.0,欢迎使用! 组件特性: 1. 支持V1签名 2. 支持V2签名 3. 支持已有注释块的APK 4. 支持根据已有基础包,生成渠道包 5. 支持多线程加速打包 6. 支持渠道包强校验,可以放心使用 7. 支持两种接入方式:Android Gradl
现在为了推广产品,会在多个渠道应用市场发布应用,为了统计不同渠道的数据,需要在应用中表明渠道,如果一个一个去修改打包效率会很低。AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包。
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。Github地址是https://github.com/ltlovezh/ApkChannelP
目前我需要一个boolean, 一个请求的url, config.url =http://10.1.64.42:9082/insure-pad/padServer.do, config.bool = false 我想加快apk打包速度啊, 一方面是还在用eclipse, 二来如果用普通的gradle的farvor方式还是不够快,美团都有v2方案了, 自己搞一搞比较有意思而已
Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。
0001b ====== 最近在公司做了一个多渠道打包的工具,趁今天有空就来讲讲 Android 多渠道打包这件小事。众所周知,随着业务的不断增长,APP 的渠道也会越来越多,如果用 Gradle 打多渠道包的话,可能会耗费几个小时的时间才能打出几百个渠道包。所以就必须有一种方法能够解决这种问题。
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。 Github地址: https://github.com/ltlovezh/ApkChanne
我们都知道,Android 市场被分割成几十个应用商店渠道,程序员给渠道打包、更新是一件异常繁杂又不得不做的工作,但现在有一种快捷灵活的免费多渠道统计方式,能最大程度的提高打包效率和数据安全性。
什么是多渠道包 渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等 产品在不同的应用市场可能有不同的统计需求,需要为每个应用市场的Android包设定一个可以区分应用市场的标识,这个为Android包设定应用市场标识的过程就是多渠道打包。
本文我将给大家介绍一个 apk 打包工具 VasDolly 的使用介绍、原理以及如何在服务端接入 VasDolly 进行服务端打渠道包操作。
VasDolly VasDolly是一个极速多渠道打包组件,同时支持基于V1和V2签名进行渠道打包。组件本身会自动检测Apk使用的签名类别,并选择合适的多渠道打包方式,对使用者来说完全透明。 V1.1.6版本已支持Android Gradle Plugin 3.0,欢迎使用! 组件特性: 1. 支持V1签名 2. 支持V2签名 3. 支持已有注释块的APK 4. 支持根据已有基础包,生成渠道包 5. 支持多线程加速打包 6. 支持渠道包强校验,可以放心使用 7. 支持两种接入方式:Andro
多渠道打包: 可以理解为:同时发布多个渠道的apk。分别上架不同的应用商店。这些apk带有各自渠道的标签,用于统计分析各个商店的下载次数等数据。 实现步骤 一、添加友盟渠道标签 添加位置:app目录下的 AndroidManifest.xml文件 添加语句: <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/> 示
Andorid渠道市场有多分散呢?分散到比Android碎片化还严重,你还在为多渠道打包而头疼吗?美团提供了速度快到白驹过隙的多渠道打包方案。说的有点夸张,对,虽然夸张,但是确实很快,不夸张不足以形容其快。废话不多说,先讲原理,再讲实践方法。 新旧打包方法原理对比讲解 传统方式 在AndroidManifest定义渠道的年代,多渠道打包无非以下两种方案: 方案一:完全的重新编译,即在代码重新编译打包之前,在AndroidManifest中修改渠道标示; 方案二:通过ApkTool进行解包,然后修改Andro
前言 上一篇(Android自动化构建之Ant多渠道打包实践(上))已经介绍了Android的apk是如何构建的,本篇博客继续Ant打包的实践过程。 集成友盟统计SDK 这里以友盟统计为例,对各个渠道进行统计,我们需要先集成它的SDK 配置权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > </uses-permission> <uses-permis
在AndroidManifest.xml的application标签里添加一个meta-data标签定义
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Error:All flavors must now belong to a named flavor dimension. The flavor ‘xiaomi’ is not assigned to a flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
前言 不知你是否遇到这样的情况?千辛万苦上开发了一个版本,好不容易上线了,突然发现了一个严重bug需要进行紧急修复,怎么办?难道又要重新打包App、测试,发布新个版本?就为了修改一两行的代码? 莫慌,这种问题其实可以分分钟解决。如果你学会了这项黑科技——热修复。 在用户使用App的时候,不知不觉,这个Bug就被修复了。 莫慌 热修复:热修复(也称热补丁、热修复补丁,英语:hotfix)是一种包含信息的独立的累积更新包,通常表现为一个或多个文件。这被用来解决软件产品的问题(例如一个程序错误)。——维基
在不同的应用市场可能有不同的统计需求,需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。在安装包中添加不同的标识,以此区分各个渠道,方便统计app在市场的各种。
最新项目中要求在友盟后台看到不同渠道的统计,Android大大小小的应用市场要几百个,要一个一个手工打包那一天也干不完,还好是有大牛的,弄出了好多解决方法,就Gradle做一下记录和分享,首先看一些理论知识:
关于如何多渠道打包,以下文字详细解答了Android如何实现多渠道打包以及快速打包。
我们在 app 正式发布的时候一定会使用正式签名的方式来打包,这种方式只能生成唯一的一个包,但是如今的应用商店非常多,如:小米、OPPO、360、百度、豌豆荚、应用宝等等。而我们只有一个 apk 文件要投入到这么多的应用商店中去,如果你的公司不需要统计每个应用商店的实际下载使用量的话,那倒是不会有这样的问题。
Gradle使用productFlavors打渠道包的痛 有很多同学可能会采用配置productFlavors来打渠道包,主要是它是原生支持,方便开发者输出不同定制版本的apk,举个例子: android { ... defaultConfig { minSdkVersion 8 versionCode 10 } productFlavors { flavor1 { packageName "com
我们都知道国内应用市场非常多,为了统计各个应用市场的app下载量和使用情况,我们需要多渠道的打包。如果一个一个的手动去打包岂不烦死了,要多麻烦就有多麻烦。这就要求我们学会使用Gradle进行多渠道打包。废话不多说了,直接进入正题吧! 第一步:配置AndroidManifest.xml 以友盟渠道为例,渠道信息一般都是写在 AndroidManifest.xml文件中,大约如下: <meta-data android:name="UMENG_CHANNEL" android:value="xiaomi" />
多渠道打包一般应用于向不同应用市场提交app后用来统计不同渠道下载量等一些信息。一般集成友盟sdk(同类型的sdk还有 诸葛io,量江湖等sdk),不同sdk集成方式大同小异,可去各自官网查看详细文档。本文以友盟sdk为例。 渠道:各种应用市场比如 华为应用市场,小米应用市场, 积分墙(花钱的推广渠道)等。
csdn: http://blog.csdn.net/k_bb_666
Gradle是一种自动化构建语言,是一种DSL。目前是Android的默认构建工具,是一个编程框架
多渠道打包一般是由人工进行的,意义在于:App上架应用市场后用来统计不同渠道的下载量、来源等信息。
熟悉App开发和推广流程的小伙伴都知道,开发一款App只是第一步,App想要上架应用市场进行下载推广,还要面临繁琐的渠道打包工作,给每一个应用市场打一个对应的渠道包,是统计渠道数据的关键。
前面我们曾经讲过两种Android的渠道打包方式,包括其中的原理都有所涉及。今天给大家讲解的是packer-ng-plugin简称packer,号称是下一代的Android渠道打包工具。估计应该有人在使用了,会的同学可以略过今天的这篇推送,去学习其他内容吧,没有使用过的就往下看。 在讲这个号称:下一代Android渠道打包工具之前,我们先来回顾一下原来基础的打包原理和美团的多渠道打包原理。这里我就不过多介绍了,没看过之前文章的,点击下方链接进行复习即可。 Android Studio 使用Gradle多渠道
* 本文原创作者:Sunnieli 首先做个说明为什么我会先这个自动化加固的评测。很大一部分原因是和兴趣有关,因为是学习app安全开发,所以多多少少要了解移动安全这方面的知识,很多时候我们会用一些线上的自动化安全平台来给应用加固。 所以在一开始选择什么加固产品的时候也是试了好多个不同的厂商。这次就不如把我之前测的一些数据分享出来,供大家参考。 对于移动应用开发工程师来说,应用自动化加固无疑是最便捷的一种安全方式了。通过加固可以在一定程度上达到反编译和防止被二次打包的效果。当然,现在网上很多平台都提供加固服务
Walle 介绍 Walle(瓦力):Android Signature V2 Scheme签名下的新一代渠道包打包神器。 瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求。 ——来自 Walle 使用 使用Walle生成多渠道的速度是很快的,原来的项目打一个包就需要两分钟多,每次发布打7个包需要十几分钟。用了Walle后,7个包只要两分钟左右
这里我们主要用到gradle文件中的buildTypes和productFlavors,今天我们主要研究下它俩。
说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值:
由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这事就简单了。 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: <meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID" /> 里面的 Channel_ID 就是渠道标示。我们的目标就是在编译的时
AndroidStudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处。
假如AndroidManifest.xml的 meta-data>CHANNEL 是渠道的标准
前面我们讲解了AndFix的使用,这篇我们来讲解下微信的Tinker热修复,相比AndFix,Tinker的功能更加全面,更主要的是他支持gradle。他不仅做到了热修复更实现了“热更新”。既然他这么强大,下面我们就来了解他是如何使用的。
领取专属 10元无门槛券
手把手带您无忧上云