目前在用Python做自动化检查Android工程相关的工作。其中在脚本设计时想尽可能的傻瓜式的操作,做到全部“自动化”。于是有了脚本判断Android工程入口的功能实现,但在实践过程中也是问题多多,现记录下来。若电脑前的您有更好的方案,请不吝赐教。 当我们使用Android Studio创建一个Android工程时,在工程目录下会有三个gradle文件:一个setting.gradle和两个build.gradle。这些gradle文件分布如下图 初始创建的settings.gradle文件内容如下: gradle文件记录了当前包含了哪个模块,include语句包裹的内容即为模块名称。 当然也有如下这样的,一个include语句包含多个模块的,其中每个模块可以是application入口或者是library 这些模块就是我们要找寻可能的工程入口,一般的工程入口是指那些application可以打包成apk的目录,而非一个library settings.gradle中可以自定义配置其他内容,就不在我们这次讨论的范围内了。 模块内的gradle文件,是描述该模块属性的文件,他可以重写根目录下gradle中任何参数。一般首行会使用背景
工程Gradle文件
MyApp
├── build.gradle
├── settings.gradle
└── app
└── build.gradle
settings.gradle文件分析
include ':app'
include ':app', ':application1', ':library1'
rootProject.name='FindApplication'
模块下的build.gradle
apply plugin: 'xxxx'语句来标识它属于一个入口工程还是一个library//工程入口
apply plugin: 'com.android.application'
...
//library库
apply plugin: 'com.android.library'
参考
支付宝扫码打赏
微信打赏