本站在前面的文章中就安卓APP开发项目如何解决ProGuard 指令,深圳APP开发公司本文重点与各位APP开发爱好者分享AndroidStudio使用技巧,编译打包、功能宏的使用、集成SO文件、模板的定制使用。
编译打包使用AndroidStudio可以很方便地一次编译多个渠道包,具体步骤如下所述。
(1)在AndroidManifest.xml文件中配置CHANNEL字符串。
< meta- data android: name=" UMENG_ CHANNEL"
android: value="${ CHANNEL_ VALUE}" tools: replace=" android: value"/>
(2)在项目中增加各渠道文件夹的相关文件。如不同渠道包连接的服务器地址不同,可以做如图25-1所示的配置。
每个渠道包的strings.xml文件中包含对应的服务器地址。
< resources> < string name=" base_ url"> http:// www. xxx. com</ string> </ resources>
(3)在build.gradle文件中添加如下代码。
productFlavors { // 编译 3 个 渠道 包 demo3 { } demo4 { } demo5 { } // 设置 每个 渠道 包 中的 渠道 名称 productFlavors. all { flavor -> flavor. manifestPlaceholders = [CHANNEL_ VALUE: name] } // 把 代码 的 提交 次数+ 渠道 名称 作为 版 本号 applicationVariants. all { variant -> if (variant. buildType. name. equals( 'release ')) { def gitVersion = gitVersionCode() variant. mergedFlavor. versionCode = gitVersion variant. mergedFlavor. versionName = gitVersion. toString() + variant. mergedFlavor. manifestPlaceholders. CHANNEL_ VALUE }
} // 按 APK 名+ 版 本号+ 编译 时间+ 渠道 名称 的 方式 修改 编译 的 APK 文件 名称 applicationVariants. all { variant -> if (variant. buildType. name. equals( 'release ')) { variant. outputs. each { output -> def outputFile = output. outputFile if (outputFile != null && outputFile. name. endsWith( 'release. apk ')) { def fileName = "xxx_ v${ variant. mergedFlavor. versionName}_${ releaseTime()}_${ va riant. productFlavors[ 0]. name}. apk" output. outputFile = new File( outputFile. parent, fileName) } // 删除 xxx- unaligned. apk 这类 没有 字节 对齐 的 APK 文件 if( output. zipAlign != null){ output. zipAlign. doLast{ output. zipAlign. inputFile. delete() } } } }
} } //获取 git 服务器 上 的 代码 提交 次数 def gitVersionCode() { def cmd = ' git rev- list HEAD --count ' cmd. execute(). text. trim(). toInteger() } //得到 当前 时间 的 字符串, 不 能用 UTC 时区, 要用 上海 所在 的 时区( 也就是 北京时间) def releaseTime() { return new Date(). format(" yyyyMMddHHmmss", TimeZone. getTimeZone(" Asia/ Shanghai")) }
APP开发关于功能宏的使用
通常增加一个功能需要修改多个文件,有时还会遇到这样的情况:A版本增加的功能,B版本上由于某个原因给关闭了,到C版本又需要打开。C语言提供了宏这种常量,可以把各文件里的功能代码包含在宏代码块里,通过修改宏的值就可以打开和关闭功能,而不用在各个文件里修改代码。Java没有提供宏这样的常量,但可以利用AndroidStudio自己实现类似的功能。在build.gradle中添加如下代码:buildTypes { release { // 增加 功能 开关 buildConfigField "boolean", "MD5_ ON", "true" } }
在Java文件中添加如下代码:
if( BuildConfig. MD5_ ON) { MD5. encode( password); }
如果要关闭MD5加密功能,把MD5_ON的值设为false就可以了。好了,APP开发公司本文关于“安卓项目开发如何快速熟悉Studio使用技巧”就分享到这里,我们希望本站相关文章能给您的APP开发前期规划以及后期运行维护有所帮助,谢谢关注,博纳网络编辑整理。