Mark的私人博客

数风流人物,还看今朝

记录下我使用 CornerStone 利用SVN 进行版本代码管理。我已经快两个月没提交代码啦,今天一提交发现好多问题,各种报错。
譬如这类错误:

1
Description : Could not find the specified file.  Suggestion : Check that the path you have specified is correct.   Technical Information =====================        Error : V4FileNotFoundError   Exception : ZSVNNoSuchEntryException  Causal Information 

解决办法:
我在missing选项中删除错误的就OK了,提交前全选 =>删除,重新手动编辑提交,重新提交前执行一下 clean。

1
2
3
4
5
6
7
8
9
10
FAQ:

Android resource compilation failed
Output: /home/cmm/code/AndroidHttpCapture/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:733: error: <item> inner element must either be a resource reference or empty.

Command: /home/cmm/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-4818971-linux.jar/8e0275d065e63c2601af4fb5800833ab/aapt2-3.2.0-4818971-linux/aapt2 compile --legacy \
-o \
/home/cmm/code/AndroidHttpCapture/app/build/intermediates/res/merged/debug \
/home/cmm/code/AndroidHttpCapture/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
Daemon: AAPT2 aapt2-3.2.0-4818971-linux Daemon #1

如上错误原来是values.xm资源文件中,元素定义了id后,就不能在后面给值了

发现 :
<item name="split" type="id">false</item>

改为 :
<item name="split" type="id"/>
即可.

配置:

  • 电脑:MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)
  • 手机:安卓手机4.4版本(是定制的)
  • Charles版本:v4.5.5
  • 手机与macbook需要连接同一网段的网络,macbook可以是有线,手机连wifi,也可以两者连接同一个wifi。

第一、电脑上安装Charles

官网下载安装:官网地址
下载后安装

第二、设置charles代理

打开charles/proxy/proxy-settings,设置一个端口号,默认的8888就可以。

第三、手机安装charles证书

需要安装charles的证书。点击help/SSL proxying


查询macbook的ip地址,并在手机连接的wifi上手动设置代理,代理主机名为ip地址,代理端口号为8888,会弹出一个框,显示的意思是手机上的wify需要设置代理。

第三、手机设置代理

查询macbook的ip地址,并在手机连接的wifi上手动设置代理,代理主机名为ip地址,代理端口号为8888,这时候用手机访问网页,charles会弹出下列框,说明charles已经开始对手机抓包了,点击允许。

然后在手机浏览器中访问手机http://charlesproxy.com/getssl,安装即可,

好了,现在就可以流畅的抓取手机上的各种http/https请求了,想要学习更多charles工具方法.

本人不做推广,只是供自己即好友参考做的笔记
感谢开发员:小小的开发人员

原文

Error:注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
FAILURE: Build failed with an exception.
最近项目出现的一些问题可以在build中加入

1
2
3
4
5
6
7
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}

打开Moudle包的build文件添加如下代码

1
2
3
4
5
6
7
8
9
task makeJar(type: Copy) {
def filename = projects.name + '-V'
delete "build/libs/MarkZXing1.0.jar"
from('build/intermediates/packaged-classes/release')
into('build/libs/')
include('classes.jar')
rename('classes.jar', 'MarkZXing1.0.jar')
}
makeJar.dependsOn(build)

点开我们右侧的Gradle,找到项目下的第一步新建的模块Module名称 ,点开 Tasks/other 文件 找到 makeJar, 双击即可,等待出现BUILD SUCCESSFUL, Task execution finished ‘makeJar’.==》编译完成,此时去Module目录下的libs/下找到的test.jar,便是制作的jar包。

若不留下点啥笔记,感觉对不住自己一个星期半的学习加复习。

一、如何实现单列模式?

使用关键字 object 修饰的类,替换掉class关键字,便会在整套程序中生成一个且是唯一的对象实例。
譬如如下代码:

1
2
3
4
5
object BigHeadSon:IWash {
override fun wash() {
println("大头儿子洗完收费1元钱")
}
}

那样之后该类的实例变量整个项目中有且只有一个。

阅读全文 »

第一章 搭建 Kotlin 开发环境


一、Kotlin简介:

Kotlin是一种基于JVM的新型编程语言,它完全兼容Java语言。
慕课网电子书

Kotlin 优先意味着什么?

在构建新的 Android 开发工具和内容(例如 Jetpack 库、示例、文档和培训内容)时,google会在设计层面考虑到 Kotlin 用户

Java 语言 Kotlin
平台 SDK 支持
Android Studio 支持
Lint
==引导式文档支持
API 文档支持
AndroidX 支持
AndroidX Kotlin 特有 API(KTX、协程等)
在线培训 尽力而为
示例 尽力而为
多平台项目
Jetpack Compose
阅读全文 »

Oracle数据库是关系型数据库

一、什么是关系型数据库?


  • 关系型数据理论最早是有E.F.Codd博士在1970年提出的。
  • Codd博士制定了一个数据库产品成为关系型数据库所必须符合的一些列相关的标准。
  • 它是RDBMS(关系型数据库管理系统)的基础。
  • 关系型数据库需包含下面三个方面:
    • 对象或关系的集合
    • 基于关系的操作集合
    • 因数据的精确性和一致性而带来的数据的完整性
  • 关系型数据库是关系的集合或者是说是二维表的集合

二、Oracle数据库简介

  • 一个存储数据的地方
  • 能快速获取数据
  • 数据库安全性
  • 分布式数据库
  • 客户端和服务端的配置

为什么启动会出现白屏?

由于Android启动的时候要进行一系列初始化,如检查权限,开启进程,绑定application,startActivity。
这些初始化会稍微需要一点点时间,比如一秒钟。白屏持续的时间长短当然也和设备有关,设备越差白屏持续时间越长。

阅读全文 »

作为安卓原生开发多年的我,也是第一次接触这种方式配置打包信息。原谅我的无知。

一、在项目根目录下新建 key.properties 文件

配置签名的基本信息

阅读全文 »