美团二代打包

alle(瓦力):Android Signature V2 Scheme签名下的新一代渠道包打包神器。

瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求

我测试的打包工具流程
1  用的是gradle:2.3.1
classpath 'com.android.tools.build:gradle:2.3.1
  1. Gradle插件方式,方便快速集成
  2. 命令行方式,最大化满足各种自定义需求

####Gradle插件方式

配置好根底部grdle

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.meituan.android.walle:plugin:1.1.6'
        classpath 'com.android.tools.build:gradle:2.3.1'
       
    }
}

app 中 build.gradle

apply plugin: 'walle'
implementation 'com.meituan.android.walle:library:1.1.6'

在Project Structure中配置好签名方式,这里配置好后,module的build.gradle文件会自动显示出来

{:height="80%" width="80%"}

同样在module中的build.gradle文件中配置walle出包方式

{:height="80%" width="80%"}

特别注意

configFile = new File("${project.getProjectDir()}/config.json")

channelFile = new File("${project.getProjectDir()}/channel")

configFile和config.json是对应关系
channelFile和channel是对应关系

渠道文件别放错位置了,如图所示, channel文件也是放在这里

获取渠道包信息

String channel = WalleChannelReader.getChannel(this.getApplicationContext());

案例

获取渠道包信息:

{:height="80%" width="80%"}

具体的配置文件:

生成渠道包 在下面

生成渠道包 ./gradlew clean assembleReleaseChannels

2 用的是gradle3.0+ 发现会编译不成功出现以下问题

 What went wrong:
A problem occurred configuring project ':app'.
> Could not generate a proxy class for class com.android.build.gradle.tasks.BuildArtifactReportTask.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org
 

猜你喜欢

转载自blog.csdn.net/u013297881/article/details/82657415
今日推荐