You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Android Studio is using the following JDK location when running Gradle: // D:\Program Files\Android\Android Studio\jre // Using different JDK locations on different processes might cause Gradle to spawn multiple daemons, for example, by executing Gradle tasks from a terminal while using Android Studio. // More info... // Select a JDK from the File System // Do not show this warning again (a minute ago)
前言
安卓的入门的学习已经完成大部分的目标。需要迈向更高的追求了。可能自动化测试还有一段路要走,但是自动化打包应该还是相对简单,而且有一定实用性,以后王毅再问我要程序的时候,就不用再这么low,发一个微信或者qq很手工的感觉。最好直接点一下页面,告诉他到什么地址下载,version及release notes一应俱全,能装逼还能偷懒,多好。
coding中的持续集成
先看看我们身边有啥趁手的工具,把目标瞄到了coding上
还是蛮好找的
看了下示例代码
精髓都在Jenkinsfile。
核心部分也并没有多高级,gradlew命令行是关键。可惜相关基础知识为零,果断先撤退
gradlew命令行
从官网上找到相关资料
准备来个gradlew命令行版本的helloworld
结果
JAVA_HOME is not set and no 'java' command could be found in your PATH
这货还要JAVA环境啊
倒腾JAVA环境
安装JDK
从oracle官网下载JDK
环境变量配置 新增 “JAVA_HOME”='C:\Program Files\Java\jdk1.8.0_181'
PATH='C:\Program Files\Java\jdk1.8.0_181\bin'
运行gradlew,正常显示了
Android Studio的警告
但是Android Studio出现了告警
Android Studio is using the following JDK location when running Gradle: // D:\Program Files\Android\Android Studio\jre // Using different JDK locations on different processes might cause Gradle to spawn multiple daemons, for example, by executing Gradle tasks from a terminal while using Android Studio. // More info... // Select a JDK from the File System // Do not show this warning again (a minute ago)
就是JAVA环境并不是没装,否则我以前的安卓程序是怎么编译出来的那。
就是说Android Studio自带了Java Runtime Environment,一般使用JRE足够了,JDK有点杀鸡牛刀了。
所以JDK不需要安装,只是把现有的JER配置好就行
JAVA环境总算折腾完了
gradle & gradlew 傻傻分不清楚
为啥网关命令行的命令是gradlew,我们明明不是用gradle编译的嘛,两者有啥关系。
gradlew = gradle wrapper
就是gradle脚手架,即用即装,居家旅行方便快捷。不仅可以执行gradle命令还包安装,适配不同机型及版本兼容。
https://stackoverflow.com/questions/39627231/difference-between-using-gradlew-and-gradle
Difference between using gradlew and gradle
gradle(gradlew)命令简介
gradlew -version
查看gradle当前版本以及本机环境
gradlew tasks
查看项目的所有可用构建任务的列表
gradlew assembleDebug
构建调试版 APK
gradlew assembleRelease
构建发布版 APK
gradlew clean
清理编译文件
gradlew test
Run unit tests for all variants
修复AndroidManifest.xml资源监测 Release Build Error
这次在实验过程中发现了一个奇怪的现象
在AndroidManifest.xml中定义android:enabled="${boot}"会被监测编译报错,而在Debug的编译中并不报错。
看来manifestPlaceholders并不能这样用。
并难不倒我,换一种方式,改成bool资源,通过app模块的资源文件配置来确定receiver是否使用。
basic模块的bools.xml资源文件定义
默认配置为false。
app模块的bools.xml资源文件定义
由于资源优先级app模块高,所以最后被解析为true
AndroidManifest.xml修改如下
相关参考链接
Android的资源冲突详解
总结
有点小插曲,总体还算顺利。gradle命令行是脱离拐杖(IDE)的第一步。一步一个脚印迈向持续集成、TDD。
The text was updated successfully, but these errors were encountered: