android studio3.0build.gradle包含的svn信息apk名称写法等
16lz
2021-01-23
import java.text.SimpleDateFormatimport java.util.regex.Matcherimport java.util.regex.Patternapply 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'}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer