最近用anysdk接android,接入有点小麻烦,不过确实带来了很大的便利,接入新渠道只需要设置参数就可以了,唯一要注意的就是,发布的时候把debugMode关闭。

不过android下面的anysdk有个问题,就是所有渠道必须用同一套资源,然后使用母包生成渠道包,包之间无法做差异化,这与我们项目有点矛盾。要解决这个问题,能想到的有两个办法:

  1. 母包就将某个渠道的最终资源弄进去,再生成渠道包,这个确实可行,但是实在太麻烦,不好维护,而且使anysdk带来的便利大大降低。

  2. 一次性生成所有渠道包,再用apktool等工具反编译,把差异化文件添加进去,再重新签名。

    反编译倒是没问题,遇到了一个问题:需要额外下载一个apktool.jar。没想到重签名卡了好久,因为网上说的命令都是jarsigner -verbose -keystore xx.keystore -signedjar -pkg.apk pkg1.apk xx.keystore,也没讲每个参数什么意思,用的时候总是出错,搞了好久才成功。

    下面将命令解释如下:

    jarsigner:jdk下的一个工具,后缀exe

    -verbose:输出详细信息

    -keystore:秘钥文件

    -signedjar:签名文件,第一个参数为签名后的文件,相当于输出文件,第二个为未签名文件,输入文件。开始搞反了,以为第一个是输入,第二个输出,被坑了一把。

    最后一个参数,是keystore的alias名,网上说的真是误人子弟,放两个keystore文件名有何意义,是吧。


所以正确的命令应该是:jarsigner -verbose -keystore xx.keystore -signedjar output.apk input.apk alias

更多相关文章

  1. Android(安卓)studio 忽略文件不生效
  2. Android应用设计提示:关于资源对象
  3. Android(安卓)文件选择器详解及实例代码
  4. Android复制assets目录下的文件到另一个目录
  5. Android(安卓)UI控件学习(一)——拖动条
  6. Android之反编译技术
  7. 关于Android工程从eclipse迁移至android studio的过程
  8. resources的使用
  9. Android(安卓)NDK 开发入门环境配置与小例子

随机推荐

  1. Android setTag方法的key问题
  2. 【Android(安卓)基础】 ListView 部分Ite
  3. Android(安卓)使用ContentProvider 实现
  4. 解决 Android 中使用ListView和CheckBox
  5. [Mugeda HTML5技术教程之18]如何在Androi
  6. [开源c-FFMpeg]Android add prebuilt lib
  7. Android 成用户隐私安全问题严重
  8. Android(安卓)7.1.2(Android(安卓)N) Sys
  9. UiAutomator通过ant实现快速调试
  10. Android(安卓)使用OpenGLES 的粒子系统