文章目录 一、settings.gradle 映射为 Settings 类 二、build.gradle 映射为 Project 类 Android Plugin DSL Reference 参考文档...: https://google.github.io/android-gradle-dsl/2.3/ 一、settings.gradle 映射为 Settings 类 ---- 根目录下的 settings.gradle...*/ void include(String... projectPaths); } 二、build.gradle 映射为 Project 类 ---- Module 模块下的 build.gradle...会被映射为 Project 类 , 因此在 build.gradle 中可以直接调用 Project 中的方法 ; 查看 build.gradle 中的 dependencies 方法源码 , 该方法定义在...*/ String DEFAULT_BUILD_FILE = "build.gradle"; /** * 配置此项目的依赖项。
上一篇博客里讲过 build.gradle 里的每一行代码基本都是在调用一个方法,既然是这样,我们就可以用 android studio(下面简称as) 去查看它源码的方法注释说明,这样就可以理解每个方法是做什么的了...在搜索框中输入 com.android.tools.build,为什么输入这个,你打开 project 下的 build.gradle 文件看看就知道了 ?...com.android.tools.build ?...BaseExtension.java 这里就可以看到源码里介绍 Plugin 的值都有哪些,分别对应哪个类,该去哪个类看它的作用是什么,干什么的。 ?...是不是发现,我们在 build.gradle 里的 android{...} 使用过的标签名原来都在这里的啊。
build.gradle Android Studio 是采用 Gradle 来构建项目的。...打开Android Studio内置的终端,在输入如下命令查看gradle版本: gradlew -v 执行结果如下: image.png Project的build.gradle文件 // Top-level...application dependencies here; they belong // in the individual module build.gradle files...写法如下: // 声明是Android程序, //com.android.application 表示这是一个应用程序模块 //com.android.library 标识这是一个库模块 apply...plugin: 'com.android.application'
Logback排除指定包或者类或者方法的日志输出 在logback-spring.xml中添加如下代码,可以一直点下去 类--> <!
阅读量: 111 注意:删除重复数据前,记得备份表!!!...废话不说,直接上代码 table_name 表格名称 field 字段名称(删除删除的重复数据) DELETE FROM table_name WHERE id in ( #找出重复的数据,并且这个数据的
文章目录 一、列举 build.gradle 中常用 android 模块配置 二、android 模块常用配置介绍 1、compileSdkVersion 配置 2、buildToolsVersion.../2.3/ 一、列举 build.gradle 中常用 android 模块配置 ---- 列举一个 build.gradle 中常用 android 模块配置 : android { compileSdkVersion...模块常用配置介绍 ---- android 模块的配置是 AppExtension 扩展类型配置 , 文档 https://google.github.io/android-gradle-dsl/2.3...文档地址 : https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html#com.android.build.gradle.AppExtension.../2.3/com.android.build.gradle.AppExtension.html#com.android.build.gradle.AppExtension:buildTypes
(Maven、Ant基于xml)Groovy是拓展了Java语言的 一种动态语言,语法更简洁,可以作为Java平台的脚本语言使用 ,拥有类 似Python、Ruby和Smalltalk...简单来说,插件就是一系列任务的集合,主要作用是把一些重复利用的逻辑打包,这样就可以在不同的项目中可以重复的使用。 要使用插件,可以通过引入依赖的方式添加。...而要引入Android APP插件,就需要在build.gradle引用Android APP插件: ?...这时候,你可能需要一些特殊手段,比如排除不想要的传递依赖。 排除传递依赖 排除传递依赖有多种原因,远程仓库中不存在,运行时不需要,或者版本冲突。...排除传递依赖的方式有两种:1.直接在configuration中排除 2.在具体的某个dependency中排除。 ?
,仅仅做开源项目可以不排除。.../build和/*/build/:排除 build 项目生成的文件,文件较大,且 IDE 可以自动生成,无特殊需求,必须排除。 2....每次添加新的包含 jni 的类库时,都要做一次比对,务必打包它们交集的 jni 版本。 4....PS:Eclipse 不支持 aar 格式,只能使用上述比较麻烦的方式,不过你可以在使用此类类库的时候,列一张清单,记录此 SDK 在项目中添加的所有文件,便于以后变更。...1.修改 demoLibary 的 build.gradle : //apply plugin: 'com.android.application' apply plugin: 'com.android.library
,android:icon, android:theme,android:allowBackup" 这里的name、label、icon、theme、allowBackup都可能会有重复,所以全部写上之间用逗号隔开...manifest.srcFile 'src/main/application/AndroidManifest.xml' java { //排除...其中BaseModule主要存放一些基础类和工具类,只做为Module为上层业务模块提供服务。 ?...将原来项目中的工具类移到UtilModule中,接着在UtilModule的build.gradle中添加以下代码: apply plugin: 'maven' uploadArchives {...SyncNow之后删除原来项目中的工具类,然后在代码里使用远程仓库的工具类测试: ?
因为有其它顶级依赖也依赖于这个依赖,可以使用exclude排除依赖,例如: androidTestImplementation 'com.android.support.test.espresso:espresso-core...组件化混淆 Android Studio使用ProGuard进行混淆,它是一个压缩、优化和混淆Java字节码文件的工具,可以删除无用的类和注释,最大程度优化字节码文件。...对于不同渠道需要引入新的类或文件,可在项目目录下新建不同渠道文件夹,将文件放入其中,各为其用。...组件化中,每个module都有一个build.gradle文件,每个module的build.gradle文件都拥有一些必需的属性,同一个Android工程,在不同模块要求这些属性一致,例如compileSdkVersion...plugin: 'com.android.application' } else { apply plugin: 'com.android.library' } 同时集成开发模式下需要排除debug
今天发现自己连Bundle类都没有搞清楚,于是花时间研究了一下。...依据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html) Bundle类是一个key-value对,“A...类继承关系: java.lang.Object android.os.Bundle Bundle类是一个final类: public final class Bundle extends...android:minSdkVersion="7" /> 两个类例如以下:intent从TestBundle类发起,到Target类。...类1:TestBundle类: import android.app.Activity; import android.content.Intent; import android.os.Bundle
一般手机上的 Android App,主要的交互方式是点击。用户在点击后,App 可能做出在页面内更新 UI、新开一个页面或者发起网络请求等操作。...Android 系统本身没有对重复点击做处理,如果用户在短时间内多次点击,则可能出现新开多个页面或者重复发起网络请求等问题。因此,需要对重复点击有影响的地方,增加处理重复点击的代码。...因为 Rxjava 这种方式是针对单个控件实现防止重复点击,不是多个控件。...: true, listener ) } } 在布局文件中设置单次点击: <androidx.appcompat.widget.AppCompatButton android...:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btn"
使用 AOP 埋点需要引入 AspectJX,在项目根目录的 build.gradle 下加入: classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx...:2.0.0' 然后,在 app 目录下的 build.gradle 下加入: apply plugin: 'android-aspectjx' implement 'org.aspectj:aspectjrt...// AspectJX默认会处理所有的二进制代码文件和库,为了提升编译效率及规避部分第三方库出现的编译兼容性问题, // AspectJX提供include,exclude命令来过滤需要处理的文件及排除某些文件...// 常用排除一些目录下的代码 aspectjx { exclude 'versions.9', 'androidx', 'com.google', 'com.taobao', 'com.ut'...然后编写双击埋点的AspectJ类。
所幸,Android Studio 提供了工程类模板,方便我们实现这样的功能。 系统模板 查看 Android Studio 系统类模板,我们能发现有很多定义好的类模板: ?...除了和 FindBugs 重复的纯 java 代码检查之外,Lint 能检查很多其他工具无法检查的内容,也更贴合 Android: ?...image build.gradle 文件中引用的 support 包的版本低的提示 Android Lint 是一个静态代码检查工具,能够对潜在的 bug,可能的安全性、性能、可用性、可访问性、国际化等优化内容做出监测...这里主要自定义实现的方法如上图 H,I H:检查类的基类是 "android.support.v4.app.Activity" 或 "android.app.Activity" I:具体检查类的方法,...这里需要排除非 yanxuan 包名下的代码,判断当前类的基类是否是 BaseBlankActivity 或 BaseActionBarActivity?
如图,解决办法为: 在你的build.gradle android下添加 packagingOptions { exclude 'META-INF/proguard/androidx-annotations.pro...//打包配置 //1、pickFirsts:当出现重复文件,会使用第一个匹配的文件打包进入apk //2、merges:当出现重复文件,合并重复的文件打入apk //3、excludes:打包的时候排除匹配的文件
先给大家分享下我的解决思路: 不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,重写父类Activity...mToast.cancel(); } } public void onBackPressed() { cancelToast(); super.onBackPressed(); } 下面介绍下解决Android...Toast重复显示等待时间过长的问题 当触发点击事件显示toast信息时,如果设置了时间长短类型为LENGTH_LONG,虽然回到后台运行,但是依然会显示toast信息,尤其是当连续点击时,toast
配置文档:https://github.com/yorkie/react-native-wechat/blob/master/docs/build-setup-android.md Ios配置文档:...//github.com/yorkie/react-native-wechat/blob/master/docs/build-setup-ios.md 鉴于组件配置已经描述的非常详细,我在本文中就不在重复叙述...中的签名,一定要是使用官方的签名工具,地址:https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2....apk在手机上查看的,要注意:RN项目调试版和发布版签名是不同的; 2.在配置RN项目的时候,本文2-2里面有一个需要配置“build.gradle”文件的,因为“build.gradle”在Android...会出现项目运行爆红跑不起来的问题; 3.所有的工作配置完成之后,运行微信分享,微信闪退的问题,RN项目在我调试还有发布版的时候,已经把所有的东西都确认配置正确了,但是分享的时候微信就闪退了,闪退问题的排除
Android SharedPreferences工具类 新建一个SpUtil工具类 /** * Created by xpf on 2017/03/25 :) * Function: sp存储的工具类
c = findClass(name); } } return c; } 好处 避免重复加载,当父加载器已经加载了该类的时候...Android中ClassLoader ClassLoader是一个抽象类,定义了ClassLoader的主要功能 BootClassLoader是ClassLoader的子类(注意不是内部类,有些材料上说是内部类...,是不对的),用于加载一些系统Framework层级需要的类,是Android平台上所有的ClassLoader的最终parent SecureClassLoader扩展了ClassLoader类,加入了权限方面的功能...,加强了安全性 URLClassLoader继承SecureClassLoader,用来通过URI路径从jar文件和文件夹中加载类和资源,在Android中基本无法使用 BaseDexClassLoader...是实现了Android ClassLoader的大部分功能 PathClassLoader加载应用程序的类,会加载/data/app目录下的dex文件以及包含dex的apk文件或者java文件(有些材料上说他也会加载系统类
我的想法是,判断用户点击按钮间隔时间,如果间隔时间太短,则认为是无效操作,否则进行相关业务处理 首先将这块提取为工具类(方便接下来的调用),现在就起名为:ButtonUtils public class...我的想法就是在单击事件中进行判断,看看当前的点击事件是否为有效点击事件 好了,一个简单又实用的防止按钮多次重复点击的工具类就搞定了。。。 如果大家还有什么比较实用的方法,,,可以一起交流哈~
领取专属 10元无门槛券
手把手带您无忧上云