自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(303)
  • 收藏
  • 关注

转载 虚拟空间对新闻媒体的真实挑战

作 者:李希光+关注作者简介:李希光 清华大学国际传播研究中心主任、教授原文出处:《中国科技信息》(京)2000年第14期 第8-10页期刊名称: 《新闻与传播》复印期号: 2000年06期字号:大中小  网络对于不同的国家、社会和人群,有着不同的含义。比如,网络是一个赚钱的商业机会;网络弥补了传统媒体在采集和传播新闻上的缺陷;网络改进了电信的基础设施;

2017-11-02 16:20:11 1783

转载 cobalt test

femalelilou moreau01-06-09-93-016394 avenue des ternesreimsmaledarrell teitsma(897)-688-87465478 burgemeester reigerstraatmenterwoldemalemoisés ramos(34) 0925-4187

2017-10-31 15:37:05 10879

转载 Linux内核参数min_free_kbytes与lowmem_reserve_ratio

1. min_free_kbytes先看官方解释:This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a watermark[WMARK_MIN] value for each lowmem zone in th

2017-07-14 20:15:15 14204 2

原创 How to start next activity if the top activity is stopped/killed

In Android system, activities are managed with stack/task model.Sometimes the top activity may stop due to crash, ANR, app OTA, LMK, .... In this situation, AMS have to remove the top activity and s

2017-07-04 09:02:02 704

原创 Android kernel build from source code and from prebuilt

When building android project, we can use prebuilt linux kernel or kernel source code.To be continued.

2017-06-16 20:10:53 1599

原创 Android build tips

Basic steps:1. source build/envsetup.sh2. lunch3. makeUseful functions1. hmm Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:- lunch:   lu

2017-06-16 15:32:39 1263

转载 mmap--最简单的测试程序(用户空间与内核空间数据交换&&用户态和内核态的数据交换用例)

//内核模块测试程序#include Linux/config.h>#include linux/module.h>#include #include  static unsigned long p = 0; static int __init shao_init(void){         //分配共享内存(一个页面)         p = __g

2017-06-13 20:03:33 982

转载 Linux内核和用户空间通信的方式(一)— proc文件和mmap共享内存

动态的将内核空间的物理地址和大小传给用户空间。本文也演示了内核空间和用户空间进行通信可以使用的两种常用方法:proc文件系统和mmap共享内存。整个内核模块,在模块插入时建立proc文件,分配内存。卸载模块的时候将用户空间写入的内容打印出来。以下是内核模块的代码和用户空间的测试代码。/*This program is used to

2017-06-13 19:59:54 866

转载 Linux内核中内存相关的操作函数

Linux内核中常见内存分配函数1.    原理说明Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表,如图2-1所示。四级页表分别为:    页全局目录(Page Global Directory)    页上级目录(Page Upper Directory)    页中间目

2017-06-13 17:04:51 1403

转载 Android/Linux Kernel 内存管理-入门笔记

Android/Linux Kernel上下層的記憶體管理機制,由於牽涉到基礎,核心與使用者空間的Framework,這系列的文章會分為幾個單元,依據筆者自己的時間安排,逐一分享出來,並希望對各位有所助益.相對於整理Kernel 排程,FileSystem,與相關核心模組的知識,重新再去彙整Kernel記憶體機制的Topics,會發現表現上看似簡單的Malloc/Free,背後的諸多細節都有他

2017-06-12 10:57:11 1818

转载 Android build(6) -- shell脚本的学习

虽然接触她很久了,但只能说认识,。说道很熟,熟到称兄道弟,这是我的目标。想要混熟总得经历些事情,那么现在开始吧。最近在学习android,还是从android开始吧!android源码中的build/envsetup.sh 顾名思义,这个脚本的主要作用是初始化编译环境,如环境变量。提供一些需要用到的函数,可作为指令调用。我们看一下build/envsetup.sh 都干了什么事情。

2017-06-02 20:34:00 1235

转载 Android build(5) -- building system8.4 android源码目录结构(下)

packages 目录 . |-- apps                                (应用程序库) |   |-- AlarmClock                (闹钟) |   |-- Bluetooth                (蓝牙) |   |-- Browser                (浏览器) |   |-- Calc

2017-06-02 20:22:45 302

转载 Android build(4) -- building system8.3 android源码目录结构(上)

|-- Makefile |-- bionic                        (bionic C库代替glibc) |-- bootable                (启动引导相关代码) |-- build                        (存放系统编译规则及generic等基础开发包配置) |-- cts                    

2017-06-02 20:20:58 340

转载 Android build(3) -- 学习makefile 其中的函数

上一节走读代码的时候,看到一些函数不明白其中的意思,看起来很难受,这就先记录makefile中的函数(摘自陈皓的《跟我一起写 Makefile》)使用函数 ———— 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。函数调用后,函数的返回值可以当做变量来使用。 一、函数的调用语法 函数调用,很像变量的使用,也是以“$”来标识的,其语法如下

2017-06-02 20:20:07 370

转载 Android build(1) -- makefile Android Building System 分析

想要了解一個系統,我常會從 makefile 或是 building system 下手,以了解系統組成元素為何? 目錄結構為何? 對於 Android ,我也不例外。透過了解 building system ,我們能知道如何新增、修改、刪除程式,並保有完整性,順利編譯出結果。 設定檔 Android building system 包括幾種重要的設定檔,Android.m

2017-06-02 20:17:19 463

转载 Android build(2) -- 走读build/core/main.mk

学习main.mk,mk的调用图一. main.mk1.检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标。$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core2.包含文件BUILD_SYSTEM/config.mk。根据配置信息和主机目标机信息,设置一些变量。3.包含文件BUILD_SYSTEM/cleanbuild.

2017-06-02 20:13:44 1836

原创 Android Native crash monitor on device and host

target process will receive corresponding signal if a native crash happen. The signals include,403 rc += sigaction(SIGABRT, &action, nullptr);404 rc += sigaction(SIGBUS, &action, nullptr);405

2017-06-02 20:06:44 683

转载 Android Debuggerd的分析及使用方法

Android Debuggerd的分析及使用方法Android系统自带一个实用的程序异常退出的诊断daemondebuggerd。此进程可以侦测到程序崩溃,并将崩溃时的进程状态信息输出到文件和串口中,以供开发人员分析调试使用。Debuggerd的数据,被保存在/data/tombstone/目录下(名字取的也很形象,tombstone是墓碑的意思),共可保存10个文件,当超过10个时,会

2017-06-02 19:26:56 5220 1

转载 在Android源码中如何吧so库打包编译进入apk, 集成第三方库(jar和so库)

集成第三方so和jar包include $(CLEAR_VARS)#jar包编译           LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=securitysdk:libs/hello.jar#64和32系统选择不同的库ifeq (arm64, $(strip $(TARGET_ARCH)))    LOCAL_PREBUILT_

2017-06-02 15:13:12 7485

转载 深入了解android平台的jni(二)

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途一个android子项目中会存在一个或多个Android.mk文件1、单一的Android.mk文件直接参考NDK的sampl

2017-06-02 15:07:47 256

转载 深入了解android平台的jni(一)

android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中。     主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这个路径中的内容被编译成库 libandroid_runtime.so,被放置在目标系统的/system/lib目录下。此外,android还有其他的 JNI库。JNI中的各个文件,实际上就是普通的C++源文

2017-06-02 15:05:54 200

原创 LOCAL_PREBUILT_* Usage

1. Pre-build java shared lib41include $$(CLEAR_VARS)42LOCAL_PREBUILT_JAVA_LIBRARIES := share.jar43include $$(BUILD_MULTI_PREBUILT)2. Pre-build java static lib31include $$(CLEAR_VARS)32L

2017-06-02 15:04:38 1032

转载 android 集成第三方静态库的编译方法

最近为Java层将一个静态库通过jni层封装成了一个动态库工他们调用,遇到了一些编译上的疑惑,所以索性将其彻底搞清楚算了,免得以后误事。       下面的图片列出了所有相关文件,可以看到引用静态库的文件是com_xxx.cpp文件,而.a文件是放在lib目录下的libHWRecog.a,而库提供出来的头文件在include下的两个.h文件。              源码文件写好了之

2017-06-02 13:54:54 359

转载 Android编译系统模块中的LOCAL_XXX变量

附录C:Android编译系统模块中的LOCAL_XXX变量:LOCAL_AAPT_FLAGSLOCAL_ACP_UNAVAILABLELOCAL_ADDITIONAL_JAVA_DIRLOCAL_AIDL_INCLUDESLOCAL_ALLOW_UNDEFINED_SYMBOLSLOCAL_ARM_MODE LOCAL_ASFLAGS LOCAL_AS

2017-06-02 13:54:39 2184

转载 android 集成第三方静态库的编译方法

最近为Java层将一个静态库通过jni层封装成了一个动态库工他们调用,遇到了一些编译上的疑惑,所以索性将其彻底搞清楚算了,免得以后误事。       下面的图片列出了所有相关文件,可以看到引用静态库的文件是com_xxx.cpp文件,而.a文件是放在lib目录下的libHWRecog.a,而库提供出来的头文件在include下的两个.h文件。              源码文件写好了之

2017-06-02 13:37:31 1223

原创 Android debug functions

In frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java5174 /**5175 * If a stack trace dump file is configured, dump process stack traces.5176 * @par

2017-06-01 17:58:06 317

转载 ContentProviderClient VS ContentResolver

这是一篇翻译自StackOverflow的文章。其主要论述的是ContentProviderClient与ContentResolver的区别。以及我们应该在什么情况下用ContentProviderClient代替ContentResolver。文章的地址是http://stackoverflow.com/questions/5084896/using-contentproviderclient

2017-05-31 17:26:53 3193

转载 (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误

1、Unix domain socket简介unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法,所用API于在不同主机上执行客户/服务器通信所有的API(套接字API,如AF_INET、AF_INET6等类型的API)相同。unix域协议可以视为是进程之间本地通信IPC的一种。unix域提供两类套接口:字节流套接口(类似TCP)和数据报套接口(类似UDP)

2017-05-31 16:02:31 449

转载 Unix domain socket 的一些小结

1. unix域的数据报服务是否可靠        man unix 手册即可看到,unix domain socket 的数据报既不会丢失也不会乱序 (据我所知,在Linux下的确是这样)。不过最新版本的内核,仍然又提供了一个保证次序的类型 “ kernel 2.6.4 SOCK_SEQPACKET ”。2. STREAM 和 DGRAM 的主要区别        既

2017-05-31 15:52:03 3531

转载 setsockopt设置socket状态

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历

2017-05-31 15:13:07 363

转载 TCP 和 UDP 协议发送数据包的大小

MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。由于以太网EthernetII最大的数据帧是15

2017-05-31 15:08:15 1173

原创 管道的原子性

一个管道的容量是有限的。POSIX规定,少于 PIPE_BUF 的写操作必须原子完成:要写的数据应被连续的写到管道;大于 PIPE_BUF 的写操作可能是非原子的: 内核可能会把此数据与其它进程的对此管道的写操作交替起来。POSIX规定PIPE_BUF至少为512B(linux中为4096B),具体的语义如下: 其中n为要写的字节数    n     n     n >  PIPE_B

2017-05-31 14:31:53 1330

原创 Something to read

MIT科技评论万字长文追踪有史以来影响世界的颠覆性技术《麻省理工科技评论》发布2017全球十大突破技术《MIT科技评论》:“2016 全球最聪明的50家公司《麻省理工科技评论》十大突破性技术,2016这一年读懂芯片后端报告https://zhuanlan.zhihu.com/c_70349842

2017-05-30 14:18:21 484

转载 Find first set

https://en.wikipedia.org/wiki/Find_first_set#CLZ

2017-05-27 13:55:41 395

原创 ProcessRecord state

259 /** @hide Process does not exist. */260 public static final int PROCESS_STATE_NONEXISTENT = -1;261262 /** @hide Process is a persistent system process. */263 public static final in

2017-05-26 20:14:50 928

转载 如何理解Android中的xmlns && Lint

如何理解Android中的xmlns: http://www.jianshu.com/p/6fcaffaeffd2android中xml tools属性详解: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0309/2567.htmlAndroid xmlns 的作用及其自定义

2017-05-26 15:49:41 226

原创 Android 7.0: Force stop application 3 times during package OTA.

An example of package OTA:Logs:D/DefContainer(15910): Copying /data/local/tmp/com.exmaple.ota.apk to base.apkW/PackageManager(  653): Centralized permission: Package com.exmaple.ota is dec

2017-05-26 11:48:22 1546

原创 About android mk parameters

Android中可能会用到第三方的软件包,这包括Java包.jar和Native包.so。jar包既可通过Eclipse开发环境集成,也可通过编译源码集成,看你的工作环境。假定自己开发的程序为MyMaps,需要用到BaiduMaps的库,包括baidumapapi.jar和libBMapApiEngine_v1_3_1.so。 一、Eclipse中集成第三方jar包及.so动态库M

2017-05-23 17:14:13 1170

转载 What causes java.lang.IncompatibleClassChangeError?

https://stackoverflow.com/questions/1980452/what-causes-java-lang-incompatibleclasschangeerror80 down vote Your newly packaged library is not backward binary compatible (BC) with old

2017-05-23 11:55:13 227

转载 apk,task,android:process与android:sharedUserId的区别

apk一般占一个dalvik,一个进程,一个task。通过设置也可以多个进程,占多个task。task是一个activity的栈,其中"可能"含有来自多个App的activity默认情况下,同一个应用程序中的所有组件运行在同一个进程中,而且绝大多数的应用程序也都是这样的。但是,如果我们想要控制让某个特定的组件属于某个进程,我们可以在manifest文件中进行配置。 在 每种组件元素(a

2017-05-20 15:16:14 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除