经验
Gdeer
这个作者很懒,什么都没留下…
展开
-
集成 Google 登录
官网:https://developers.google.com/identity/sign-in/android/start-integrating基本按官网步骤进行,下面列举一些错误码。错误码code=7NETWORK_ERROR,检查网络是否通畅(是否科学)code=10sha1 签名不对如果已经设置过一遍,在设置的地方修改 sha1,最终的值不会改变,需要删除后重新添加才能生效。在 consoler 中可以查看和删除生成的 key。code=12500A non-recove.原创 2020-05-27 23:03:25 · 1664 阅读 · 0 评论 -
应用覆盖安装后桌面图标消失问题
一、现象当一个 app 有两个入口 Activity(标记了 main、launcher 的 Activity,如集成了 LeakCanary 的 app),安装后,桌面上会出现两个图标。当在 androidManifest 中删除一个 activity 或将其 disable,再覆盖安装,桌面上的两个图标都会消失(有些机器会这样,如 mix2;在模拟器上只有被删除或者 disable 的那个...原创 2020-04-11 12:14:19 · 2419 阅读 · 0 评论 -
Android Studio run 失败 Failed to process
Failed to process E:\WeatherAndroid\app\build\intermediates\transforms\profilers-transform\debug\63.jar同步成功、run 失败。在特定机型上出现该问题,如移动 M652,api 22,5.1。在 stackoverflow 上查到,可以通过关闭 Advanced profiling 来解决...原创 2019-12-11 16:31:38 · 1087 阅读 · 0 评论 -
小程序开发问题记录
1、class 找不到现象:模拟器里正常运行,真机上报错 class 找不到原因:被混淆了解决:去掉混淆2、wxml 中的 item 属性无法访问现象:wxml 中的 item 属性无法访问原因:data 里存的是一个 json解决:将对象转为 json 再存入 data3、刷新不停止现象:下拉刷新不停止原因:遇到了异常,停止代码没执行解决:解决异常,加入 catch4、...原创 2019-12-11 16:08:02 · 230 阅读 · 0 评论 -
将自己的库发布到 JitPack
JitPack 的 GitHub 地址:https://github.com/dcendents/android-maven-gradle-plugin文章目录集成插件打 tag集成插件在 module 集成插件:// 根 build.gradlebuildscript { repositories { mavenCentral() /...原创 2019-10-28 15:13:41 · 321 阅读 · 0 评论 -
Sublime Text 更改主题
文章目录一、默认主题切换二、Solarized 主题切换三、其他主题切换一、默认主题切换ctrl + shift + P,输入 UI。选择 Select color Scheme,可以看到有几个默认的主题。可以上下切换,查看效果。二、Solarized 主题切换ctrl + shift + P,输入 install package,输入 Solaried,选择 Solarized ...原创 2019-09-11 11:58:54 · 2875 阅读 · 0 评论 -
TextView 截图没有内容
现象TextView 是 new 出来的,即没有在界面上绘制过设置了 singleLine = true设置了 gravity = center|right三者都满足时,TextView 就无法转为 Bitmap。View 转为 Bitmap 的方法两种方法之中第一种在这种情况下,bitmap 中不包含文字,但包含背景第二种在这种情况下,bitmap 中不包含文字,也不包含背景...原创 2019-09-02 17:29:57 · 330 阅读 · 0 评论 -
Android View 转 Bitmap(截图)的方法
两种方法fun View.toBitmap(viewWidth: Int, viewHeight: Int): Bitmap? { layout(0, 0, viewWidth, viewHeight) buildDrawingCache() return drawingCache}fun View.toBitmap2(): Bitmap? { var bi...原创 2019-08-22 23:26:39 · 585 阅读 · 0 评论 -
Android 手机的常用存储路径浅析
内存与外存:早期的 Android 手机分为内存、外存,内存是手机自带的,外存是可以额外添加的。现在的 Android 手机普遍都只有内存,没有外存。运行内存其他内存:内存可以分为运行内存和其他内存,如 6G/64G 的手机指的就是 6G 的运行内存和 64G 的其他内存。运行内存使用 RAM(Random Access Memory),读写速度更快。其他内存使用 ROM(Rea...原创 2019-08-12 14:41:16 · 3460 阅读 · 0 评论 -
空格、NBSP 造成的 JSON 解析失败问题
文章目录一、问题二、空格与 NBSP三、解决一、问题今天编辑腾讯文档,加了一个代码块,复制了一段 json 进去,后来产品到该文档里去取这个 json,使用小米推送进行推送,发现推送死活显示不出来,可是之前测试的时候明明是好的,对比了之前的 json 和腾讯文档里的 json,乍看之下没什么区别,研究了很久,才发现问题所在。就是这两个:腾讯文档(以下称副本):{ "a":""}txt文件...原创 2019-09-20 15:21:26 · 5178 阅读 · 0 评论 -
小米手机测试时遇到的问题记录
权限后台弹出界面该权限被禁后,无法用 Service 启动一个 Activity。该权限无法申请,只能用户手动允许。报错 log:D/com.android.server.am.ExtraActivityManagerService: MIUILOG- Permission Denied Activity : Intent { act=my_test_action flg=0x1000...原创 2019-09-23 16:49:59 · 1593 阅读 · 0 评论 -
csdn 搜索自己的文章
这里的搜索框搜出来是整个 csdn 的文章:如果要搜索自己的文章,可以点击“管理博客”:在里面的搜索框中搜索(只能搜索标题),在结果列表中点击查看即可。...原创 2019-09-24 09:55:38 · 348 阅读 · 1 评论 -
ShareSdk 编译报错问题
在执行 gradlew asembleDebug --scan 命令时,编译不通过,报错如下:* What went wrong:A problem occurred evaluating project ':app'.> Failed to apply plugin [id 'com.mob.sdk'] > No such property: url for class:...原创 2019-09-25 14:26:03 · 971 阅读 · 0 评论 -
Failed to delete \build\intermediates\intermediate-jars\debug\classes.jar
* What went wrong:Execution failed for task ':lib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug'.> java.lang.RuntimeException: java.io.IOException: Failed to delete E:\TestAndro...原创 2019-09-26 09:26:32 · 1239 阅读 · 1 评论 -
Ant 的模式匹配
Jenkins 的 Files to archive 需要按 Ant 的模式匹配去寻找文件,这里记录一下。官网(主要看 Example)* :匹配 0 个或多个字符(不包含分隔符 /)? :匹配一个字符** :匹配 0 个或多个目录(如果模式以 ‘/’ 或 ‘’ 结尾,则会自动补上 **)模式解释**/CVS/*匹配所有 CVS 目录下的所有文件(不包括下层文件...原创 2019-09-29 15:25:16 · 1291 阅读 · 0 评论 -
ShareSDK、aliyunDNS 的动态版本依赖导致的编译失败问题
打包时常常遇到失败的情况,报错 log:* What went wrong:Could not resolve all files for configuration ':app:releaseRuntimeClasspath'.> Could not resolve com.aliyun.ams:alicloud-android-utils:1.1.+. Required by:...原创 2019-08-02 09:38:39 · 1400 阅读 · 0 评论 -
Activity 切换时的生命周期
文章目录普通特殊特殊的特殊特殊的补充普通A Activity 启动 B Activity,再回退到 A:特殊A Activity 启动 B Activity,再回退到 AB 的 theme 设置了 true特殊的特殊A Activity 启动 B Activity,再回退到 AB 的 theme 设置了 trueA 启动时用的是 application.startAct...原创 2019-07-04 21:06:38 · 293 阅读 · 0 评论 -
Android Studio 的相关目录
~/Library/Preferences/AndroidStudio3.2内有:codestyle、keymap、new Class 模板、Live 模板等/Applications/Android Studio.app/Contents内有:New Activity 模板、新建工程模板等可通过应用程序/Android Studio,右键选择显示包内容进入。修改默认生成的 bu...原创 2019-01-19 14:45:42 · 696 阅读 · 0 评论 -
修改 Android Studio 默认生成的 build.gradle
公司的网络访问不了 jcenter,搞得每次新建项目都要改下 jcenter 的地址,后来想到可以直接修改 as 的生成模板,果然方便很多。as 的文件模板放在 /Applications/Android Studio.app/Contents 目录下(更多 as 的目录信息可查看这里Android Studio 的相关目录)。具体是在:/Applications/Android Studi...原创 2019-01-19 14:53:19 · 3076 阅读 · 0 评论 -
Android Studio 的 .9 图制作操作技巧
as 有一个制作.9图的功能,把一个图片改为.9后缀,再点击这个图片,就可以进入到.9的边界界面。不过里面的功能很难用,摸索了好一会才知道怎么操作。鼠标点击:标黑一点鼠标拖动:当箭头与边界黑线重合时(图中的1):只能加大边界黑线,不能减少。箭头与边界黑线不重合时(图中的2):可加大、减少边界黑线。Shift + 鼠标点击清空边界黑线上的一点Shift + 鼠标拖动...原创 2019-02-01 13:40:04 · 842 阅读 · 0 评论 -
自定义跑马灯首尾间距的 TextView
一、效果普通 TextView 的跑马灯效果:MarqueeTextView 的跑马灯效果:二、思路TextView 的跑马灯效果不支持设置首尾间距。查看源码发现,它的跑马灯效果由内部类 Marquee 实现,Marquee 的 start() 方法中启动了跑马灯。void start(int repeatLimit) { if (repeatLimit == 0) { ...原创 2019-03-06 21:40:20 · 1863 阅读 · 0 评论 -
ANR 的模拟
文章目录ANR 的模拟一、创造 ANR 的环境1.1 sleep1.2 wait1.3 synchronized1.4 staticSynchronized1.5 无限循环二、触发 ANR2.1 触摸事件2.2 Service2.2.1 Service 启动超时2.2.2 Service 处理超时2.2.3 对比2.3 BroadcastReceiver2.3.1 Receiver 接收超时2.3...原创 2019-03-22 11:31:26 · 1278 阅读 · 0 评论 -
Bitmap.getWidth() on a null object reference at webview.getDefaultVideoPoster
分析遇到这样一个 bug:java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference at com.android.webview.chromium.WebViewConten...原创 2019-03-26 12:36:16 · 3046 阅读 · 0 评论 -
java 基础:多线程
一、什么是线程要说线程,先说进程,就像手机上的 App,每个 App 都有一个进程,它的所有操作都在这个进程里进行。线程是进程里处理任务的单位。通常一个进程有一个主线程,多个子线程。如一个浏览器里,界面的显示就是它的主线程,当我们开始下载一个东西,如果在主线程下载,用户就不得不等到下载完成后再进行别的操作,这时就要将下载放在子线程中进行。所以子线程,就是用来处理耗时任务的。1.1 线程的执...原创 2019-03-26 23:06:01 · 222 阅读 · 0 评论 -
查看 AndroidManifest 合并后的 permission 来自哪里
文章目录一、来源二、查看2.1 来自文件2.1.1 直接查看2.1.2 自定义 Task2.2 来自代码一、来源同步后合并的 AndroidManifest.xml 文件位于 /app/build/intermediates/manifests/full/debug/AndroidManifest.xml。AndroidManifest.xml 中内容的来源:项目自身 AndroidM...原创 2019-03-27 11:46:31 · 4284 阅读 · 3 评论 -
targetSdkVersion 23 以下,系统也弹定位权限申请框
发现自己的应用 targetSdkVersion 小于 23,但启动时还是会弹定位权限申请框。新创建一个 targetSdkVersion 小于 23 的新项目:LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);String provider = Loc...原创 2019-03-27 11:56:31 · 1367 阅读 · 0 评论 -
Activity 启动流程 api 25
Activity 生命周期的处理:schedulehandleperformonCreate 的调用流程:startActivity【Activity】startActivityForResult mInstrumentation.execStartActivity【Instrumentation】 ActivityManagerNative.getDefa...原创 2019-04-08 21:58:03 · 229 阅读 · 0 评论 -
对开屏页重复弹出问题的研究实验
背景应用入口是一个开屏 Activity,开屏 Activity 启动后会在几秒后启动主页 Activity,并 finish 自己。现象应用通过文件系统(installer)安装后,会弹出一个框,让用户选择“完成”、“打开”。点击“打开”后,进入应用。开屏展示过后进入主页,这时回到桌面(launcher),再打开应用,开屏又弹出了一次。重复回到桌面后打开,不断弹出开屏。分析instal...原创 2019-04-27 17:27:05 · 560 阅读 · 0 评论 -
Activity 启动时间
启动 Activity 时,ActivityManager 会自动打印:06-25 15:09:32.519 1440-1502/? I/ActivityManager: Displayed com.gdeer.hub/.MainActivity: +1s412ms (total +1s978ms)在 ActivityRecord 的 reportLaunchTimeLocked 方法中执行...原创 2019-06-25 13:06:28 · 1235 阅读 · 0 评论 -
shell 命令 help 的语法
什么都不带的文字是必填的、不可变的带 <> 的是必填的、可变的带 [] 的是可选的如:start-activity 是不可变的、必填的-P <FILE> 是可选的如果输入了 -P,那 file 就是必填的...原创 2019-06-25 14:10:41 · 2271 阅读 · 0 评论 -
使用 Processon 画图的技巧
一、画这样一张图:注意点在顶部工具类修改插入线条类型为直线。画的箭头线不要贴到图形边上,贴边时自动吸附很难处理。复制箭头线,通过改变新线的起点终点样式翻转箭头,保证平行。使用上下左右键粗略移动箭头线,shift + 上下左右键细微移动。双击箭头线添加文字。二、画这样的图注意点:添加文字后通过上面的圆点旋转。 这时的旋转角度较大,可能不会与箭头线...原创 2019-01-13 22:46:08 · 15260 阅读 · 1 评论