项目级build.gradle,方便快速下载依赖
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
mavenLocal()
mavenCentral()
maven { url 'https://jitpack.io' }
maven { url 'https://developer.huawei.com/repo/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.4'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
//Performance Monitoring
classpath 'com.google.firebase:perf-plugin:1.4.1'
classpath 'com.huawei.agconnect:agcp:1.6.0.300'
}
}
allprojects {
repositories {
flatDir {
dirs 'libs'
dirs project(':app').file('libs')
}
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
mavenLocal()
mavenCentral()
maven { url 'https://jitpack.io' }
/* maven {
url "http://kochava.bintray.com/maven"
allowInsecureProtocol(true)
}*/
maven { url 'https://developer.huawei.com/repo/' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
手动代理配置
自定义view,手指移动到view范围外, move事件不继续回调问题
onTouchEvent > MotionEvent.ACTION_MOVE
原因是父布局消费了事件,只需要在MotionEvent.ACTION_MOVE增加声明
parent.requestDisallowInterceptTouchEvent(true)
让父布局不要消费事件
seekbar源码中的处理如下:
backgroundTintList的上色与取消上色
根据背景上色:
view.backgroundTintList = ColorStateList.valueOf(Color.parseColor("颜色"))
view.backgroundTintMode = PorterDuff.Mode.SRC_IN
取消上色:
view.backgroundTintMode = PorterDuff.Mode.DST_IN
原理为自定义view中的PorterDuff.Mode:
PorterDuff.Mode.DST_IN
取两层绘制交集。显示下层。
PorterDuff.Mode.SRC_IN
取两层绘制交集。显示上层。
FB的DpLink调试地址
https://developers.facebook.com/tools/app-ads-helper
如果遇到没有办法在控制台上发出测试通知的问题,可以看一下是否是浏览器广告助手拦截了FB的测试通知请求。
GP Install Referrer调试方法:
文档链接:https://developer.android.google.cn/google/play/installreferrer/library
类似于FB的延迟DpLink,需要跳转GP的链接加上参数:
https://play.google.com/store/apps/details?id=******&referrer=参数;
调试方式如下:
1.卸载app,关闭GP
2.通过链接跳转到GP详情页,不需要其他操作
3.AS直接跑app,或者通过adb安装
4.可以看到[参数]
FB上分享点击跳转App需要配置meta标签:
文档:https://developers.facebook.com/docs/applinks/add-to-content
必须是!property标签!
<meta property="al:ios:url" content="***********************" />
<meta property="al:ios:app_store_id" content="***********************" />
<meta property="al:ios:app_name" content="***********************" />
<meta property="al:android:url" content="***********************">
<meta property="al:android:package" content="***********************">
<meta property="al:android:app_name" content="***********************">
Tablayout只在一行显示
<com.google.android.material.tabs.TabLayout
android:id="@+id/tbl"
style="@style/MainTabStyle"
android:layout_width="match_parent"
android:layout_height="40dp"/>
<style name="MainTabStyle" parent="Base.Widget.Design.TabLayout">
<item name="tabMaxWidth">400dp</item>
</style>
//源码中的
<item name="tabMaxWidth">@dimen/design_tab_max_width</item>
<dimen name="design_tab_max_width">264dp</dimen>
tablayou文字太多,会自动换行,可以把tabMaxWidth设置大一点,这样就能在一行显示,其他办法试下来均无用,源码中最大是264dp。
Python GTK安装:
使用svg转png时,依赖库cairosvg会报错,解决问题详情见这个文章:
https://blog.csdn.net/bz_xyz/article/details/104637487
ECS重启避免盘符顺序变化
升级主机规格一般是不会引起磁盘盘符变化的,只有卸载云盘并重新挂载时顺序不一致有可能导致盘符变化的
为了防止发生这种情况,建议使用UUID来代替代/dev/vdx设备,UUID是Linux系统为磁盘分区提供的唯一的标识字符串。
执行如下命令,查询磁盘分区的UUID。
blkid 磁盘分区
以查询磁盘分区“/dev/vdb1”的UUID为例:
blkid /dev/vdb1回显类似如下信息:
/dev/vdb1: UUID="b9a07b7b-9322-4e05-ab9b-14b8050cd8cc" TYPE="ext4"
编辑 /etc/fstab
将光标移至文件末尾,按“Enter”,添加如下内容。
UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc /mnt ext4 defaults 0 0
重启后盘符不会改变
IDE运行缓慢
改一下设置,改大一点。
Spring中集成elasticsearch JAVA 8.1.3客户端使用
注意spring boot集成es会有一点点问题,需要特别设置依赖:
在主pom中指定elasticsearch-rest-client版本,防止使用内置版本
在需要连接的子moudle pom中配置