ウォーリー公式のGitHubの住所:https://github.com/Meituan-Dianping/walle
VasDolly公式のGitHubの住所:https://github.com/Tencent/VasDolly
VasDollyアクセス手順:
最初のステップ:build.gradleのプロジェクトにコード行を追加します
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.leon.channel:plugin:2.0.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
ステップ2:build.gradleのモジュールは、VasDollyへの参照を追加します
プラグインを適用する:「チャンネル」
第三ステップ:モジュールプロジェクト参照のヘルパー依存へ
API 'com.leon.channel:helper:2.0.1'
ステップ4:設定の署名ファイル
自動化されたデバッグパッケージを追加することができない場合は、フレーズを追加してくださいbuildTypes自動包装にsigningConfig signingConfigs.release //のGradleを指定してください包装。プロジェクト内のモジュールの構成
android {
signingConfigs {
debug {
storeFile file('D:\\DownLoad\\VasDolly-master\\MyApplication\\vasdolly1.jks')
storePassword '123456'
keyAlias = '123456'
keyPassword '123456'
}
release {
storeFile file('D:\\DownLoad\\VasDolly-master\\MyApplication\\vasdolly1.jks')
storePassword '123456'
keyAlias = '123456'
keyPassword '123456'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release//gradle 自动打包一定要添加这句
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug //可以没有
}
}
compileSdkVersion 28
defaultConfig {
applicationId "com.cq.myapplication"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
channel {
//指定渠道文件
channelFile = file("D:/DownLoad/VasDolly-master/MyApplication/channel.txt")
//多渠道包的输出目录,默认为new File(project.buildDir,"channel")
baseOutputDir = new File(project.rootProject.buildDir, "channel")
//多渠道包的命名规则,默认为:
${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}
apkNameFormat = '${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}'
//快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
isFastMode = false
//buildTime的时间格式,默认格式:yyyyMMdd-HHmmss
buildTimeDateFormat = 'yyyyMMdd-HH:mm:ss'
//低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头
的内容块读取到内存,在手机上合成APK时,可以使用该模式
lowMemory = false
}
rebuildChannel {
//指定渠道文件
channelFile = file("D:\\DownLoad\\VasDolly-master\\VasDolly-master\\channel.txt")
baseDebugApk = new File("D:\\DownLoad\\VasDolly-master\\VasDolly-master\\baseApk\\app-debug.apk")
baseReleaseApk = new File("D:\\DownLoad\\VasDolly-master\\VasDolly-master\\baseApk\\app-debug.apk")
//默认为new File(project.buildDir, "rebuildChannel/debug")
debugOutputDir = new File(project.rootProject.buildDir,"rebuildChannel/debug")
//默认为new File(project.buildDir, "rebuildChannel/release")
releaseOutputDir = new File(project.rootProject.buildDir,"rebuildChannel/release")
//快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
isFastMode = false
//低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式
lowMemory = false
}
その中でも、マルチチャンネルパッケージに名前を付けるには、次のフィールドを使用することができます。
appNameは:現在のプロジェクトの名前
versionName:versionNameの現在のバリアント
versionCode:versionCodeの現在のバリアント
buildType:当前バリアント的buildType、即デバッグまたはリリース
flavorName:現在のチャンネル名
APPID:APPLICATIONIDの現在のバリアント
ビルド時:現在のコンパイルビルド日付と時間、あなたは時間のフォーマットをカスタマイズすることができ、デフォルトフォーマット:YYYYMMDD-HHMMSS
ステップ5:ステップ5:スタートは梱包、あなたは、Android Studioでのターミナルでコマンドラインを入力することができます
gradlew channelDebugテスト
gradlew channelRelease公式
gradlew rebuildChannel APK元のマルチチャンネルのパッケージを使用して