Android打包也可以说说
android每次打包的时候, 要一堆目的地, 并且要记得手工升级build.gradle(module: app).
这个挺麻烦的. 而且是机械无脑的工作, 理应自动化, 由机器负责.
源码可以看懂, 有注释的行是有用的, 没有注释的行, 请忽略
apply plugin: 'com.android.application'
def cmd = 'git rev-list HEAD --count' //版本号基于git的commit数量.
def gitVersion = cmd.execute().text.trim().toInteger() //这个就是版本计数.
def cmd2 = 'git describe --tags' //版本名给予git的tag
def version = cmd2.execute().text.trim() //这个就是自动版本名.
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.takungae.dagong30"
minSdkVersion 19
targetSdkVersion 23
versionCode gitVersion //这里用上刚才的变量
versionName version //这里也是
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
查看apk的版本号
aapt dump badging myapp.apk
aapt dump permissions package.apk
aapt l -a <someapp.apk>
#带上路径才能执行, 比如下面这样
/Users/m/Library/Android/sdk/build-tools/23.0.3/aapt dump badging app/build/outputs/apk/app-debug.apk
或者使用apktool: http://ibotpeaches.github.io/Apktool/
参考
- 极速打包: https://github.com/mcxiaoke/packer-ng-plugin
- 优雅打包: http://www.race604.com/android-auto-version/
- 多渠道打包: http://www.jianshu.com/p/44d40f8e67c9