- 博客(5)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
原创 Android Gradle Plug 4.1.0 升级后gradle获取manifest位置失败问题解决
问题背景项目编译过程中,使用了类似Android Gradle Plugin的gradle插件进行编译,在最终打包apk时,会动态修改manifest文件。近期发现线上用户有反应升级到以下开发环境后,打包apk后manifest文件中没有应有的任何配置。Android Gradle Plugin:4.1.0Gradle:6.5Android Studio:4.1确认调查方向首先要确认清楚到底是上述3个哪个的升级导致的问题。在本地进行环境升级过程验证了以下结论:Android Gradle
2020-10-17 16:34:14 4442 8
原创 Java并发编程(三) - 实战:线程同步的实现
synchronized关键字首先,来看一个多线程竞争临界资源导致的同步不安全问题。package com.example.weishj.mytester.concurrency.sync;/** * 同步安全测试 * * 在无任何同步措施时,并发会导致错误的结果 */public class SyncTest1 implements Runnable { // 共享资源(临界资源) private static int race = 0; private static final
2020-10-13 21:52:23 230 1
原创 Java并发编程(二) - 线程基础
线程的实现主流的操作系统都提供了线程实现,Java语言则提供了在不同硬件和操作系统平台下对线程操作的统一处理。我们注意到Thread类与大部分的Java API有着显著差别,它的所有关键方法都是声明为Native的。这就说明,有关线程的操作,底层都是与平台相关的。实现线程主要有3种方式:使用内核线程实现、使用用户线程实现和使用用户线程加轻量级进程混合实现。1.使用内核线程实现内核线程(Kernel-Level Thread,KLT)就是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核
2020-10-13 21:49:43 177
原创 Mac导出目录树
概要工作中可能需要导出如下的目录树结构:src├── cn│ └── com│ └── ctcom│ └── account└── com └── example ├── commons └── sec ├── core ├── datatype ├── exception
2020-10-13 16:16:02 508 1
原创 Android异常捕获
Android应用不可避免的会发生crash,无论你的应用写的多完美,总是无法完全避免crash的发生,可能是由于由于Android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况。当crash发生时,系统会kill掉正在执行的程序,现象就是闪退或者提示用户程序已停止运行,这对用户来说是很不友好的,也是开发者所不愿意看到的。更糟糕的是,当用户发生了crash,开发者却无法得知为何
2020-10-13 14:55:25 1368
struts的json相关jar包
2012-07-10
macbook air下adb找不到任何android设备
2016-11-27
Android SQLite同一DB中创建多表
2015-09-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人