import java.text.SimpleDateFormat
import java.util.regex.Matcher
import java.util.regex.Pattern
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.excellence.netlink"
minSdkVersion 17
targetSdkVersion 26
versionCode = getSvnVersion()
versionName = "V2.0." + versionCode + ' [' + getDate()+ "]"
println 'versionCode: '+versionCode + '\n' + 'versionName: '+versionName
creatVersionInfo()
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
applicationVariants.all{ variant->
variant.getPackageApplication().outputDirectory = new File(outputDir())
variant.outputs.all { output->
if (variant.buildType.name.equals('release') || variant.buildType.name.equals('debug')) {
outputFileName= "m3u8Player"+versionName+".apk"
}
}
}
}
def outputDir(){
return project.buildDir.absolutePath+"/outputs/apk"
}
def getSvnVersion() {
def proc = ("svnversion -c " + getBuildDir().parent).execute();
proc.waitFor();
def version = proc.in.text;
Pattern p = Pattern.compile("(\\d+\\:)?(\\d+)\\D?");
Matcher m = p.matcher(version);
if (m.find()) {
version = m.group(m.groupCount());
}
try
{
return Integer.parseInt(version);
}
catch (e)
{
println e.getMessage()
}
return 0;
}
def getDate() {
SimpleDateFormat sdf = new SimpleDateFormat('MMM d yyyy', Locale.US);
return sdf.format(new Date());
}
def creatVersionInfo() {
try
{
FileOutputStream outStream = new FileOutputStream(getBuildDir().parent + '/assets/verson_config.properties');
Properties properties = new Properties();
properties.put("svn_ver", '' + getSvnVersion());
properties.put("build_time", getDate());
properties.store(outStream, null);
outStream.flush();
outStream.close();
}
catch (e)
{
println e.getMessage()
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.jakewharton:butterknife:8.7.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
implementation 'com.vise.xiaoyaoyou:viselog:1.1.2'
implementation 'com.orhanobut:hawk:2.0.1'
}
android studio3.0build.gradle包含的svn信息apk名称写法等
最新推荐文章于 2023-08-23 16:16:09 发布