引言:

APK在推广的时候可能会须要动态打包APK。比方公布到不同渠道的时候,须要在manifest文件里改动渠道信息。或者app在推广的时候。须要在apk包里面加上推广人信息等。

环境变量:

1、JDK 1.7
2、Android Build-Tools(将此目录设置到环境变量里去)
3、ApkTool,打包的时候须要用Android Build-Tools的aapt工具

步骤:

  • 下载Apk Tool工具包

最新版本号下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads

  • 解包

将须要解压的apk文件(test.apk)、apktool.jar、apk相应的keystore(test.keystore)放到同一个目录下。然后cd到这个目录

输入解压命令:

java -jar apktool.jar d -f -s test.apk

运行命令后,你会发如今当前目录下生产一个test的目录。在此时你能够改动manifest配置文件,或者向raw、assets目录中加入一些文件

  • 打包

运行完上面操作后,你须要又一次打包。输入以下的命令:

java -jar apktool.jar b test

运行完上面的操作后,生成的未签名的apk文件在  ./test/dist/  文件夹下

  • 签名

将  ./test/dist/  文件夹下的apk文件签名。參考命令例如以下:

jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore test.keysotore -storepass keystore_password -keypass keypass_passworld -signedjar test_s.apk ./test/dist/test.apk test.alias

上面的签名參数仅供參考。你可能须要针对不同的情况做稍许的改变。

总结:

以上仅仅是一种打包方式,个人认为是比較快的一种方式。

ApkTool动态打包的更多相关文章

  1. libgdx学习记录19——图片动态打包PixmapPacker

    libgdx中,opengl 1.x要求图片长宽必须为2的整次幂,一般有如下解决方法 1. 将opengl 1.x改为opengl 2.0.(libgdx 1.0版本后不支持1.x,当然不存在这个问题 ...

  2. vue+webpack多个项目共用组件动态打包单个项目

    原文复制:https://www.jianshu.com/p/fa19a07b1496 修改了一些东西,因为sh脚本不能再window电脑执行,所以改成了node脚本.这是基于vue-cli2.0配置 ...

  3. apktool动态破解apk

    那么今天我们就用另外一种方式来破解apk:动态方式,关于动态方式其实很广义的,因为动态方式相对于静态方式来说,难度大一点,但是他比静态方式高效点,能够针对更过的破解范围.当然动态方式很多,所以这里就分 ...

  4. 【转】Maven实战(三)---插件动态打包

    原博文出于:http://blog.csdn.net/liutengteng130/article/details/41622013    感谢! maven把项目的构建划分为不同的生命周期(life ...

  5. maven的动态打包功能

    对于maven而言,打包是其一个非常重要的功能,不仅仅是简单的编译打包的概念,其还通过各种插件支持各种灵活的打包策略.现举一个例子讲解如何动态实现一个web项目的打包: 需求: 现需要对一个web项目 ...

  6. SpringBoot 动态打包

    配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  7. apktool重新打包错误

    E:\apktool-install-windows-r05-ibot\apktool-install-windows-r05-ibot\.\test_apk_name\res\layout-larg ...

  8. Eclipse+APKTool动态调试APK

    1. 所需工具 Eclipse. Apktool v2.0.6. 安卓SDK工具. 2. 重编译APK apktool d -d -o test test.apk 此时当前test目录下就是apkto ...

  9. idea maven 动态打包指定环境

    jar pom.xml <!-- 指定文件id --> <profiles> <profile> <id>alpha</id> <pr ...

随机推荐

  1. http://blog.csdn.net/carolzhang8406/article/details/7196011

    http://blog.csdn.net/carolzhang8406/article/details/7196011

  2. IE10与IMG图片PNG显示不了 WP中的WebBrowser中无法查看PNG格式的图片

    在IE10下,IMG的图片不能是PNG格式的,PNG格式显示不了,JPG显示就可以

  3. 李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入

    李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入 01 - 直接在项目中导入SDK和一些静态库 这个时候,没有错误的编译没有错误的话,就说明SDK已经配置成功 还有一种方法是用cocoap ...

  4. INF文件

    百度百科:http://baike.baidu.com/view/637107.htm?fr=ala0_1_1 INF简介 INF是Device INFormation File的英文缩写,是Micr ...

  5. Cppcheck 用法(上篇)

    http://blog.csdn.net/u011012932/article/details/52778149

  6. java里的静态变量是放在了堆内存还是栈内存?

    堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对 ...

  7. Webform和MVC,为什么MVC更好一些?

    前言 如果你看了最近微软的议程,你会发现他们现在的焦点除了MVC,还是MVC.问题在于为什么微软如此热衷于丢弃传统的APS.NET Webform而转向ASP.NET MVC?本文就主要来讨论这个问题 ...

  8. 宣布正式发布 Azure 媒体服务内容保护服务

    Mingfei Yan Azure媒体服务项目经理 我们非常高兴地宣布正式发布 Azure 媒体服务内容保护服务.这包括 Microsoft PlayReady许可服务和 AES明文密钥交付服务!此外 ...

  9. 让人爱不释手的13套精美 Web 应用程序图标素材(转)

    图标用于向用户传递信息,不管是在网页还是 Web 应用程序中都非常需要.这些小小的图标元素能够告诉用户怎么到下一页,如何添加.删除和取消等等各种操作.设计精美的图标不仅能增加界面的美观,也能够让应用程 ...

  10. oracle删掉重复数据的语法

    --查询重复数据-- ) --删掉重复数据-- ) );