安卓应用多渠道打包发布教程

举报
资源描述
1安卓应用多渠道打包发布教程Create by xinshiwen多渠道打包,主要是为了统计不同的渠道上包的下载数量,渠道越多,我们需要打的包数量越多,这个时候,我们没法去使用单纯的手动打包去一个一个的生成不同的渠道包,我们需要更高效的打包方式。一,声明渠道方式(一)1,1,通常我们区分渠道都是在我们通常我们区分渠道都是在我们 manifestmanifest 文件的文件的 applicationapplication 用这用这样来定义渠道信息:样来定义渠道信息:2,2,然后在我们的然后在我们的 JavaJava 代码中,我们通过以下方法来获取渠道号:代码中,我们通过以下方法来获取渠道号:/*获取 Umeng 渠道号*param context*return 渠道号*/public static String getChannel(Context context)String channel=bbliveBYD;try 2ApplicationInfo info=context.getPackageManager().getApplicationInfo(context.getPackageName(),PackageManager.GET_META_DATA);if(info!=null&info.metaData!=null)String metaData=info.metaData.getString(UMENG_CHANNEL);if(!StringUtil.isBlank(metaData)channel=metaData;catch(NameNotFoundException e)e.printStackTrace();return channel;二,渠道方式(一)的打包方法,友盟的打包工具友盟的打包工具使用方式比较简单,首先按照普通的方式单独打一个签名包,然后打开我们下载的打包工具,建议使用最新的 v3.2(修复了一些前面低版本的 Bug),已下载于安卓应用打包发布全套教程。3点击扳手的地方,进行我们应用签名的配置4最下面给我的配置文件取个名字。然后保存。接下来,将我们前面打的签名包拖进友盟打包工具的加号这里,等分析结束,点击一键打包即可。,蓝贝壳儿蓝贝壳儿 EclipseEclipse 插件打包插件打包蓝贝壳儿是插件的形式放在 Eclipse 里面的,是一个 jar 包,使用也相当方便,早期公司,多渠道的时候,我也是使用这种方式,优点是:安装该插件后,只需要简单配置,既可批量打包。需要下载一个 200kb的 Eclipse 插件,已下载于安卓应用打包发布全套教程。Android 开发辅助工具“兰贝壳儿”Eclipse 插件使用指南:1.下载兰贝壳儿 Eclipse 插件2.安装兰贝壳儿插件,建立 Android 工程3.使用配置文件、默认配置文件4.使用”在资源管理器中打开”功能5.使用”依赖更新”功能6.使用”打包发布”功能(),下载兰贝壳儿 Eclipse 插件下载后解压缩 OrchidShell.rar5确认文件夹路径为 OrchidShell-eclipse-plugins(),安装兰贝壳儿插件,建立 Android 工程安装 Eclipse 插件,将 OrchidShell 文件夹拷贝到 Eclipse 的 dropins文件夹下后,启动(重启)Eclipse6建立 Android 工程在工程上点击右键可看到菜单“兰贝壳儿”,说明安装成功7(),使用”在资源管理器中打开”功能点击兰贝壳儿菜单中的在资源管理器中打开菜单,可以将当前选中的资源所在的文件夹打开。8如果选中的资源是一个文件夹,那么插件会直接打开这个文件夹9如果选中的资源是一个文件,那么插件会打开文件的父文件夹,并且选中该文件10(四),使用配置文件、默认配置文件兰贝壳儿使用 xml 作为插件配置文件,当工程中不存在配置文件,而插件的某些功能需要用到配置文件的时候,插件会新建一个默认的配置文件。11该配置文件引用了一个通用的安卓开发工具包。配置了一个签名用的密钥库。你需要根据自己的实际情况修改这个配置文件。在下面两个功能中,有详细介绍。5.使用”依赖更新”功能点击插件右键中的“依赖更新”菜单,可以对工程的第三方依赖 jar包进行更新管理。12这里使用的第三方 jar 包,使用 maven 管理 jar 包的组织形式需要指出的是,这里的 jar 包必须有一个统一的下载网站。该网站可以是任何一家 maven 库或者 maven 库镜像。如果您自己有 Team 的服务器,当然也可以自己建一个 Maven 库来管理常用的通用组件。13点击依赖更新菜单之后,会在 Eclipse 的控制台打出更新的过程。注意,如果配置文件配置不正确,可能会报出一些错误提示,根据错误提示进行修改配置文件即可。6.使用”打包发布”功能点击兰贝壳儿菜单中的“打包发布”菜单,可以对工程按渠道分别打包,打包的过程中可以对 apk 文件进行自动签名。14注意打包发布前,需要修改配置文件中对应的项目:其中 channels 的 keyname=”是指在你的 AndroidManifest.xml文件中配置的 Application 级的名称。例如:15这里使用的是友盟的统计 SDK 和机锋网的统计 SDK,所以名称为“UMENG_CHANNEL,gfan_cpid”,你可以修改为你自己应用的统计SDK 的渠道项目标识符,如果有多个,使用半角逗号隔开即可。是对应于你要打包的每个渠道名称,也就是统计 SDK 中渠道的标识符。对于写在这里的每个渠道,插件会自动为其修改 meta-data 中的value 值,并且打包为一个 apk 文件。然后为这个 apk 文件进行签名。这里的 keystore 就是你对 apk 文件进行签名时使用的个人密钥。需要你将 path 修改为你的密钥库路径,passwd 为密钥库的密码。下面的 alias 是指每个密钥对应的别名,以及对应的密码。如果你有多个 alias,可以在这里指定,插件会选取第一个可用的 alias 以及密码对应的密钥 Key 对你的 apk 文件进行签名。outpath这个路径就是你的apk文件自动打包生成出来以后的存放路径。注意插件会在这个路径下创建以你的工程名为名称的文件夹。163.StudioStudio GradlGradle e 多渠道打包多渠道打包,使用比较简单使用比较简单(),Android studio 生成签名包方法:点击 Android Studio 的 Build,选择 generate Signed APK。17选择 create new key store:填完,点击 ok18然后 next,选择输出 apk 位置。(),Studio Gradle 多渠道打包在 AndroidManifest.xml 中定义占位符:android:name=UMENG_CHANNELandroid:value=$UMENG_CHANNEL_VALUE/在 module 的 gradle 脚本中替换占位符:productFlavors wangdoujia manifestPlaceholders=UMENG_CHANNEL_VALUE:wangdoujiaxiaomi manifestPlaceholders=UMENG_CHANNEL_VALUE:xiaomianzhi manifestPlaceholders=UMENG_CHANNEL_VALUE:anzhi更多渠道的话就按上面的格式添加,添加完毕后点击build-generate signed apk 即可。19三,声明渠道方式(二)最后一种打包方式,在网上也有很多资料,就是根据美团的打包原理,制作的打包工具。普通打包方式 时间比较长,是因为需要修改 manifest 文件中的 value,然后继续签名,因此耗时。以下为美团提供的打包思路:如果能直接修改 apk 的渠道号,而不需要再重新签名能节省不少打包的时间。幸运的是我们找到了这种方法。直接解压 apk,解压后的根目录会有一个 META-INF 目录,如下图所示:如果在 META-INF 目录内添加空文件,可以不用重新签名应用。因此,通过为不同渠道的应用添加不同的空文件,可以唯一标识一个渠道。20添加完空渠道文件后的目录,META-INFO 目录多了一个名为mtchannel_meituan 的空文件:接下来就可以在 Java 代码中读取空渠道文件名了:21这样,每打一个渠道包只需复制一个 apk,在 META-INF 中添加一个使用渠道号命名的空文件即可。根据美团提供的思路,在META-INFO 中添加一个空的文件作为 channel,可以满足我们一般的渠道要求,那么不需要签名,则大大减少了打包时间。这种打包方式速度非常快,900 多个渠道不到一分钟就能打完。下面是渠道方式(二)具体操作步骤:22准备,下载 python:https:/www.python.org下载别人写好的脚本:https:/ ChannelUtil.getChannel(this)方法获取渠道号。3.安装 Python。4.“.PythonToolinfochannel.txt”,里面去添加自己想要的渠道,进行渠道配置。5.放置 apk 到“MultiChannelBuildTool.py”所在目录,双击“MultiChannelBuildTool.py”执行脚本,完成多渠道打包。四,总结各种打包方式的比较:速度上来说,最后一种方式 是无敌的快,并且使用很方便,只需要我们手动打一个签名包,随后只需要脚本去执行即可。Umeng 打包工具,普通包也可以,但是渠道多了的话,配置麻烦,并且含有 so 动态链接库的 apk 打包可能会出问题。23蓝贝壳儿 Eclipse 打包插件,我以前一直用的打包方式,速度比起美团的打包思路慢,但是一般不会出错。资料都是收集与互联网上的,大家如果有好的思路也多多分享。
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 办公文档 > 解决方案


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号