状态管理 State对象有一个didChangeDependencies回调,它会在“依赖”发生变化时被Flutter Framework调用。 这种机制:可以使子组件在所依赖的InheritedWidget变化时来更新自身! 依赖”指的就是子widget是否使用了父widget中InheritedWidget的数据! 2021-03-18 flutter Android flutter
2 目录 基础知识 常用的元素定位器 UI automator 找到resource-id元素的组合定位 这个例子通过id不能定位到一个元素,可以通过组合方式定位常用的元素属性和方法 location是起点坐标,size是宽高 测试报告 2021-03-18 Appium Android Appium
day01 获取当前界面应用程序的包名 和界面名(activity名) adb shell dumpsys window windows | grep mFocusedApp //指定锤子手机 adb -s b419ac9e shell dumpsys window windows | grep mFocusedApp //adb启动日历的主activity adb -s b419ac9e shell a 2021-03-18 Appium Android Appium
1 dependencies中的 compile implemaintation api 引用aar的第二种模式new module -> import .jar/.aar package -> 选择.aar文件 然后会创建一个module拷贝了这个文件,并且生成有gradle文件 configurations.maybeCreate(configurations.maybeCre 2021-03-18 Gradle Android Gradle
gradle 每个build.gradle文件都和一个Project对象一一对应。 build.gradle中的脚本都会委托给Project对象执行,所以脚本中可以调用project的方法和访问他的属性; 当通过gradle进行构建时,实际执行的是Project对象中的某个task 生命周期: 初始化 setting.gradle中的脚本会执行,gradle根据其中的配置创建哪些Project对象 配置阶段: 2021-03-18 Gradle Android Gradle
gradle总结 build.gradle中的代码执行在gradle的配置阶段,而非执行阶段 build.gradle对应1个project对象,在build.gradle中写代码就是在project中写 apply 的参数是一个map , 插件的名字就是.properties前面的文件名,里面写了他的启动的groovy类,该类重写了apply方法,通常apply方法中创建了extensions ,比如”an 2021-03-18 Gradle Android Gradle
maven发布aar Maven仓库:就是一个文件夹。 本地Maven仓库:可以设置在任意一个文件夹。 maven配置中的 scope, type,optional, classifier, 传递依赖,exclusions解释 2021-03-18 Gradle Android Gradle
groovy 闭包闭包是一个匿名的代码块,可以赋值给变量,是Closure类型 def bibao = {it -> println it} //执行闭包 bibao() bibao(参数) bibao.call() 2021-03-18 Gradle Android Gradle
仓库地址 maven { url maven { url 'https://maven.aliyun.com/repository/central'} maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/re 2021-03-18 Gradle Android Gradle
变体 buildTypes:默认有release 和debug2种, 项目中自定了一种叫fakerelease,继承自debug类型,方便后端调试。 productFlavors : 针对功能的 。比如免费版,付费版 上面产生4种变体buildVariants 对于每一种变体,都会有一个 BuildConfig 与之一一对应。我们来看看构建变体 free.debug 的BuildConfig: publ 2021-03-18 Gradle Android Gradle