远没到应该再见的再见

再见,一个平凡而伟大的老人head

林日早 1933.12.20 - 2017.08.14

其实到了这个时候,在我心中能称上伟大的并不多,鸡汤喝过很多,但是能够一直铭记于心,并且如此接近的也只有他了,也就是我的外公。

外公生于乱世,穷苦中养育了9个子女,一辈子隐居名山之中,与花鸟虫蚁相伴,这是他简单而不平凡的一生,在人生的最后,在知天命的子女,相守了一辈子的老伴以及老邻居们的陪伴下离去,我想这也是很不错的结局吧。

关于外公的记忆不算很多,不过如果你问我,谁是最符合我心目中仙人的模样的,我第一个回答就是他。圣井山的宁静,塑造了外公的性格,也赋予了他独特的气质,每当我见到他,暴躁的情绪也会瞬间安静。

山不在高,有仙则灵,水不在深,有龙则灵。圣井山因为外公的存在,一度做为我心灵最后的避风港,虽然来得次数不多,但是每次都能留下深刻的记忆。这几年有限的几次上山,往日的记忆始终在眼前浮现,但是大多已经物是人非。曾今最喜欢的是给您烧柴火,这几年已经换成了燃气灶,等再有机会烧东西的时候,却只能是这些纸钱!曾今最喜欢的是看着您挑灯写小楷,如今只能看着墙上挂着的您的笔记轻叹!曾今最喜欢的是看着您在房间挑灯读书,如今只能看着送您的几本书回忆往昔。

岁月的无情没有击垮你,然而病魔却侵袭了您的身体。当肺癌晚期的消息如同巨锤砸中毫无防备的我的时候,我无语凝噎。身体健康,爱好广泛的你我一直坚信百岁也不过是您新的起点而已,然而病魔却无情阻拦了您本来应该走的道路。

这个时候,我才突然发现,您原来是如此的脆弱。而记忆里面身体健壮,走路如松的您只能依赖轮椅,浑身也只是皮包骨。记忆里和善温柔的外婆,整日只能以泪洗面,走路迟缓的她,告诉了我,走过60多载姻缘的你们原来已经不再年轻了……

grandfather_mother
grandfather_hand
grandfather_hand2
grandfather_hand3

直到失去了以后才直到珍惜,请您放心,外婆我们会好好照顾的,请您在新的路途上一路顺丰。

family_pic

IDEA编译java代码找不到Main函数

1
2
3
4
5
6
7
8
9
Exception in thread "main" java.lang.ClassNotFoundException: loadtb
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:201)

修正方案:

  1. 确认Run的类 的 类文件 和 类名一致
  2. 确认类里面存在 main 函数

    1
    public static void main(String[] args) throws Exception {}
  3. 确认生成输出目录下面是否存在生成的class文件

阿里云域名交由dnspod 解析

今天给1w打了个电话,把自己的宽带登录改为路由器登录,所以路由器拿到了公网ip,有了公网ip肯定就需要映射给自己的域名,因为路由器是网件R7000,刷了梅林固件,内部ddns还是比较强大的,但是不支持阿里云,在koolshare论坛找到了替代方法,这里做个笔记

dnspod解析阿里云域名

阿里云域名解析dns改为dnspod的域名

kotlin简单研究1

其实这个是比较早了,写得也比较匆忙,zz

控制流

if,for,while

在kotlin中 forwhile 的变化不大,if 语句的变化就是每个代码块的最后一行可以作为这个if语句的返回值

1
2
3
4
5
6
7
if (a > b) a else b

if (a > b) {
a
} else {
b
}

switch -> when

kotlin中when是switch的升级版,因为when支持各种条件语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

var number:Int = 0
var bool:Int = 0
var char:Int = 0
var other:Int = 0
var array = ArrayList<Any>()
array.add(1)
array.add(2)
array.add('a')
array.add("a")
array.add(false)
array.add(1.5)
array.add(ArrayList<Any>())


for (i in array.iterator()) {
when(i) {
is Number -> number ++
true -> bool ++
false -> bool ++
is Char,is String -> char ++
else -> other ++
}
}

标签,返回,中断,继续

return,break,continue

标签的作用就是用来标记表达式,上面的3个操作符可以通过标签,直接操作这个标签的表达式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 联动:http://my.oschina.net/yuanhonglong/blog/469546
fun LabelDemo() {
hello@ for (i in 1..9) {
for (j in 1..9) {
if (i < j) {
println()
continue@hello //break
}
print("[$i,$j] ")
}
}
println()

var array = ArrayList<Any>()

array.add(intArrayOf(1,2,3))
array.add(intArrayOf(4,5,6))
array.add(intArrayOf(7,8,9))

var f = run({
findNumber@ {
number:Int ->
findNumber2@ array.forEach {
findNumber3@ (it as IntArray).forEach {
if (it.equals(number)) {
return@findNumber "find"
}
}
}
return@findNumber "not find"
}
})

println("${f(0)}")
println("${f(1)}")

}

this表达式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// demo 2
class Label2Class {
init {
var inner:innerClass = innerClass()
}
inner class innerClass { // implicit label @B
init {
var a:Int = 0;
a.foo()
}
fun Int.foo() { // implicit label @foo
val a = this@Label2Class // A's this
val b = this@innerClass // B's this

val c = this // foo()'s receiver, an Int
val c1 = this@foo // foo()'s receiver, an Int
run {
println("a is ${a.out()}")
println("b id ${b.out()}")
}
}
fun out():String {
return "innerClass"
}
}

fun out() :String {
return "Label2Class"
}
}

静态变量 和 静态方法 与 伴生对象

在kotlin 里面,不支持类里面有外面能够直接访问的 静态变量 和 方法,但是放到 伴生对象里面就可以让外面访问

1
2
3
4
5
class song {
companion object {
//...
}
}

安全性检查

? 允许变量为空
!! 变量如果为空会抛除异常
不带上面2个符号默认为!!

1
2
3
4
5
6
7
8
9
class NotNullClass {
var numberA:Int? = null
var numberB:String = "123"

fun getNumberA() : Int {
numberA = 1
return numberA!!
}
}

demo2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class TreeClass(length:Int) {
var node:TreeClass? = null
init {
if (length > 0) {
node = TreeClass(length -1)
}
}
companion object {
fun showTreeLength(treeClass: TreeClass) {
var length = -1
var nextTree:TreeClass? = treeClass
do {
length ++
nextTree = nextTree?.node
} while(nextTree != null)
println("TreeClass treeLength $length")
}

}
}

gradle编译之OOM

这2天在使用AndroidStudio编译的时候经常报 out of memory:permgen space,gradle的内存分配不足,第一天有点2x把编译器的运行内存增加到3g,今天早上过来才发觉应该提升的是gradle的内存,留存记录为一个纪念,顺便留下2个内存的设置方式

AndroidStudio 配置

在AndroidStudio安装目录下的bin文件夹里面修改 studio64.exe.vmoptions,32位和64位自己选择

gradle 配置

项目目录下有一个 gradle.properties 文件夹,打开,在里面添加
org.gradle.jvmargs=-Xmx3072m就可以了,这个内存按照自己的硬件水平自己分配

——–update 2016/03/09—-

上面的方法依然没办法解决问题,最后在StackOverFlow上面找到了答案

连接地址 : http://stackoverflow.com/questions/17447410/outofmemoryerror-when-compiling-my-android-app-with-gradle

在项目目录下的gradlew 里面修改

1
2
3
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
改为:
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\" \"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=1024m\""

Android 5.0+ pull push数据库的那些事

因为win10的更新,genymotion罢工了,只好充值了信仰,购买了6儿子,但是发现之前写的获取db脚本都失效了,一系列资料查询研究,有了以下的一些收获,Android5.0+的系统对应用的数据做了保护,不能直接访问,最直接粗暴的方法其实就是先拷贝到 sdcard下,然后pull出去,push相反,这里push是采用同样的方法,pull的话,找到了一个更好的方法,貌似也没有读取权限的限制(手里头没有没有root的手机可以试),

其实不了解 exec-out的功能,在官网上也没有找到比较好的解释,如果有人有相关资料提供下了解下就更好了(^__^) 嘻嘻……

1
pull:
adb exec-out run-as packname cat databases/dbfile > dbfile

push暂时没有别的方法

1
push:
@echo off
echo su > temp.txt
echo mv sdcard/tempfile/dbfile data/data/package/databases/dbfile >> temp.txt
echo exit >> temp.txt
echo exit >> temp.txt
adb shell mkdir sdcard/tempfile/
adb push dbfile sdcard/tempfile/dbfile
adb shell < temp.txt
adb shell rm sdcard/tempfile/
del temp.txt

android 权限合集

出处: http://merrygrass.iteye.com/blog/1121284

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
<!-- 允许在登入数据库的时候读写其中的属性表,并上传改变的值 -->
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" />

<!--允许应用访问范围(如WIFI)性的定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<!-- 允许应用访问精确(如GPS)性的定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!--允许应访问额外的提供定位的指令 -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

<!-- 允许应用创建用于测试的模拟定位提供者 -->
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />

<!--允许应用访问网络上的信息 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!--允许应用使用低版本视图的特征 -->
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />

<!--允许应用访问关羽Wi-Fi网络的信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<!--允许应用进入帐户认证 -->
<uses-permission android:name="android.permission.ACCOUNT_MANAGER" />

<!--允许应用为ACCOUNT_MANAGER扮演一个帐户认证系统 -->
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />

<!--允许应用去统计电源信息 -->
<uses-permission android:name="android.permission.BATTERY_STATS" />

<!-- 允许应用告诉AppWidget哪个应用能够访问该AppWidget的数据 -->
<uses-permission android:name="android.permission.BIND_APPWIDGET" />

<!--必须通过关机接收者的请求来确保只有系统能够与之交互 -->
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />

<!-- 必须通过InputMethodService的请求来确保只有系统能够与之绑定 -->
<uses-permission android:name="android.permission.BIND_INPUT_METHOD" />

<!--必须通过WallpaperService的请求来确保只有系统能够与之绑定 -->
<uses-permission android:name="android.permission.BIND_WALLPAPER" />

<!-- 允许应用去连接蓝牙设备 -->
<uses-permission android:name="android.permission.BLUETOOTH" />

<!-- 允许应用找到与之连接的蓝牙设备 -->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

<!--被请求废止设备(非常危险) -->
<uses-permission android:name="android.permission.BRICK" />

<!--允许应用发出一个程序包被移除的广播消息 -->
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />

<!-- 允许应用发出一个收到短信的消息 -->
<uses-permission android:name="android.permission.BROADCAST_SMS" />

<!--允许应用发出一个与intent相连的消息 -->
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

<!--允许应用发出一个收到WAP PUSH的广播消息 -->
<uses-permission android:name="android.permission.BROADCAST_WAP_PUSH" />

<!--允许应用启动一个用户确认电话被拨打而不通过拨打电话的用户界面的的拨打程序 -->
<uses-permission android:name="android.permission.CALL_PHONE" />

<!--允许应用启动一个用户确认电话被拨打而不通过拨打电话的用户界面的的任意号码的拨打,包括紧急号码. -->
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />

<!--能够启动照相机设备的请求 -->
<uses-permission android:name="android.permission.CAMERA" />

<!-- 允许应用去改变一个应用是否是激活状态 -->
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />

<!-- 允许应用修改当前的配置,如本地设置 -->
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />

<!-- 允许应用改变网络的连接状态 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

<!-- 允许应用进入Wi-Fi的组播方式 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />

<!--允许应用改变Wi-Fi的连接状态 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<!--允许应用清除所有安装在设备上的应用的缓存 -->
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />

<!--允许应用清除使用者的信息资料 -->
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />

<!--允许从广播设备来更新或不更新本地的消息 -->
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />

<!--允许应用删除掉缓存文件 -->
<uses-permission android:name="android.permission.DELETE_CACHE_FILES" />

<!--允许应用删除掉程序包 -->
<uses-permission android:name="android.permission.DELETE_PACKAGES" />

<!-- 允许低权限的访问电源管理项 -->
<uses-permission android:name="android.permission.DEVICE_POWER" />

<!--允许应用诊断程序资源 -->
<uses-permission android:name="android.permission.DIAGNOSTIC" />

<!--允许应用禁用键盘锁 -->
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

<!--允许应用从系统服务中恢复转储的信息 -->
<uses-permission android:name="android.permission.DUMP" />

<!--允许应用扩大或缩小状态栏 -->
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />

<!--如制造商测试的应用一样用终极权限用户运行 -->
<uses-permission android:name="android.permission.FACTORY_TEST" />

<!--允许访问手电筒 -->
<uses-permission android:name="android.permission.FLASHLIGHT" />

<!--允许应用强制的返回操作而不论是不是最终的activity -->
<uses-permission android:name="android.permission.FORCE_BACK" />

<!--允许应用访问账目服务中的统计清单 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<!-- 允许应用查找出任何程序包使用的空间 -->
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />

<!-- 允许应用找到关于当前或最近运行的任务和在哪些acitivities里运行 -->
<uses-permission android:name="android.permission.GET_TASKS" />

<!-- 这个权限可以被内容提供者用来允许使用全程搜索他们的数据 -->
<uses-permission android:name="android.permission.GLOBAL_SEARCH" />

<!-- 允许访问硬件及周边设备. -->
<uses-permission android:name="android.permission.HARDWARE_TEST" />

<!--允许应用注入用户事件(键盘、触摸)到事件中然后提供给任意的窗口 -->
<uses-permission android:name="android.permission.INJECT_EVENTS" />

<!--允许应用安装一个位置提供商到位置管理器中 -->
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />

<!--允许应用安装程序包. -->
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />

<!--允许应用打开被部分系统用户接口使用的窗口 -->
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />

<!--允许应用打开网络套接口 -->
<uses-permission android:name="android.permission.INTERNET" />

<!--允许应用去呼叫killBackgroundProcesses(String).方法 -->
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

<!-- 允许应用去管理帐户管理者中的重要清单 -->
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

<!--允许应用去管理(创建、销毁、顺序)在窗口管理者中的应用 -->
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />

<uses-permission android:name="android.permission.MASTER_CLEAR" />

<!--允许应用修改全局音频设定 -->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

<!--允许改变拨打电话的状态-电源等 -->
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />

<!--允许格式化可移除的存储仓库的文件系统 -->
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />

<!--允许装备或解除可移除的存储仓库的文件系统 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

<!--允许应用使它的activities更持久稳固 -->
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />

<!--允许应用监督、限定或终止呼出的电话 -->
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

<!--允许应用读取用户的日历数据 -->
<uses-permission android:name="android.permission.READ_CALENDAR" />

<!-- 允许应用读取用户的联系人数据 -->
<uses-permission android:name="android.permission.READ_CONTACTS" />

<!--允许应用抓取屏幕和更多可获得的缓冲数据 -->
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />

<!--允许应用去读取(非写)用户浏览历史和书签 -->
<uses-permission android:name="android.permission.READ_HISTORY_BOOKMARKS" />

<!-- 允许应用去的当前键盘和控制的状态 -->
<uses-permission android:name="android.permission.READ_INPUT_STATE" />

<!--允许应用读取低级别的系统日志文件 -->
<uses-permission android:name="android.permission.READ_LOGS" />

<!--允许应用读取所有者的数据 -->
<uses-permission android:name="android.permission.READ_OWNER_DATA" />

<!--允许读取电话的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<!--允许应用读取短信息. -->
<uses-permission android:name="android.permission.READ_SMS" />

<!--允许应用读取同步的设置 -->
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />

<!--允许应用读取同步的统计数据 -->
<uses-permission android:name="android.permission.READ_SYNC_STATS" />

<!--重新启动设备的请求 -->
<uses-permission android:name="android.permission.REBOOT" />

<!--允许应用接收在系统完成启动后发出的ACTION_BOOT_COMPLETED广播信息 -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<!--允许应用去监听多媒体信息并记录和对起进行处理 -->
<uses-permission android:name="android.permission.RECEIVE_MMS" />

<!--允许应用去监听短消息并记录和对起进行处理 -->
<uses-permission android:name="android.permission.RECEIVE_SMS" />

<!--允许应用监听WAP push信息 -->
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />

<!--允许应用记录音频信息 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />

<!--允许应用改变任务的关系位置 -->
<uses-permission android:name="android.permission.REORDER_TASKS" />

<!--已废弃使用 -->
<uses-permission android:name="android.permission.RESTART_PACKAGES" />

<!--允许应用发送短消息. -->
<uses-permission android:name="android.permission.SEND_SMS" />

<!--允许应用查看和控制activities是怎样在系统中运行的 -->
<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />

<!--允许应用去控制当activities被覆盖后是否是立即接触结束 -->
<uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />

<!-- 改变动画的比例因子 -->
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />

<!--设置一个应用为调试模式 -->
<uses-permission android:name="android.permission.SET_DEBUG_APP" />

<!--允许低级别的设置屏幕的方向 -->
<uses-permission android:name="android.permission.SET_ORIENTATION" />

<!--已废弃 -->
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />

<!--允许应用设置可以运行的最大数的应用进程 -->
<uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />

<!-- 允许应用设置系统时间 -->
<uses-permission android:name="android.permission.SET_TIME" />

<!-- 允许应用设置系统时区时间 -->
-->
<uses-permission android:name="android.permission.SET_TIME_ZONE" />

<!-- 允许应用设置壁纸 -->
<uses-permission android:name="android.permission.SET_WALLPAPER" />

<!--允许应用设置锁定的壁纸 -->
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />

<!--允许应用发出一个给所有稳定进程信号的请求 -->
<uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" />

<!-- 允许应用打开、关闭或使状态栏或图标失去作用 -->
<uses-permission android:name="android.permission.STATUS_BAR" />

<!--允许应用访问内容提供者的签署认证 -->
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" />

<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" />

<!-- 允许应用使用TYPE_SYSTEM_ALERT来打开窗口,并将窗口显示于其他应用的顶端 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<!--允许应用更新设备资料信息 -->
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />

<!--允许应用从管理器得到授权请求 -->
<uses-permission android:name="android.permission.USE_CREDENTIALS" />

<!--允许应用访问震动器 -->
<uses-permission android:name="android.permission.VIBRATE" />

<!-- 允许使用电源锁定管理以使进程休眠或屏幕变暗 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />

<!--允许应用去写入接入点设置 -->
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />

<!--允许应用写(非读)用户的日历数据 -->
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

<!--允许应用写(非读)用户的联系人数据 -->
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

<!-- 允许应用写(非读)用户的外部存储器 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!-- 允许应用修改Google服务地图 -->
<uses-permission android:name="android.permission.WRITE_GSERVICES" />

<!-- 允许应用写(非读)用户的浏览器历史和书签 -->
<uses-permission android:name="android.permission.WRITE_HISTORY_BOOKMARKS" />

<!--允许应用写(非读)用户的数据 -->
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />

<!--允许应用写或读当前系统设置 -->
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

<!-- 允许应用写或读系统设置 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<!--允许应用写短消息信息 -->
<uses-permission android:name="android.permission.WRITE_SMS" />
<!-- 允许应用写同步设置 -->
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />