代码改变世界

随笔档案-2013年01月

apk获得Android系统权限的方法

2013-01-10 14:25 by ...平..淡..., 26494 阅读, 收藏, 编辑
摘要: 想写一个重启系统的apk(reboot.apk),因为没有权限,所以编译出来的apk无法达到效果。网上查到的方法讲的不太清楚,至少我是这么觉得,因为我照着做,试了好多次才成功。下面是我尝试过并成功的两个方法,总结如下。方法1:通过将项目作为一个模块,放到Android系统源码中进行编译~~~步骤如下:1.在应用程序的AndroidManifest.xml中的manifest节点中加入"android:sharedUserId="android.uid.system"这个属性。<manifest xmlns:android="http://schem 阅读全文

由学习SystemServer引发的extern "C "探究

2013-01-07 13:58 by ...平..淡..., 461 阅读, 收藏, 编辑
摘要: 在学习SystemServer时,根据函数调用发现,从SystemServer.java::main--->init1--->com_android_SystemServer.cpp::android_server_SystemServer_init1--->system_init时,system_init函数在cpp文件的最上面声明了extern "C" int system_init();但是没有包含头文件啊之类的,那系统是如何找到system_init函数的呢?上网查了一些资料,发现《条件编译和extern "C"的用法总结》文章 阅读全文

Android.mk简单分析

2013-01-05 22:51 by ...平..淡..., 12656 阅读, 收藏, 编辑
摘要: LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under, src)LOCAL_PACKAGE_NAME := SettingsLOCAL_CERTIFICATE := platforminclude $(BUILD_PACKAGE)# Use the folloing include to make our test apk.include $(call all-makefiles-under,$(LOC 阅读全文

《深入理解Android(卷2)》笔记 6.第二章 深入理解Java Binder

2013-01-04 23:43 by ...平..淡..., 1662 阅读, 收藏, 编辑
摘要: 只学习了这一章中与Binder有关的部分。因为这一部分涉及java层的Binder机制,所以就直接来学习下。先整体总结下:1.AMS如何将自己注册到SM中(1)AMS.setSystemProcess--->SM.addService--->getIServiceManager().addService() (2)分析getIServiceManager函数 getIServiceManager--->SMN.asInterface(BinderInternal.getContextObject()) (3)分析getContextObject函数 ge... 阅读全文

《深入理解Android(卷1)》笔记 5.第六章 深入理解Binder

2013-01-04 09:10 by ...平..淡..., 2094 阅读, 收藏, 编辑
摘要: 第六章 深入理解Binder我的简要总结:根据MediaServer的main函数来分析Main_mediaserver.cpp::main int main(int argc, char** argv){ sp<ProcessState> proc(ProcessState::self()); //(1) 获得一个ProcessState实例 sp<IServiceManager> sm = defaultServiceManager();//(2) 调用defaultServiceManager,得到一个IserviceManager LOGI("Serv 阅读全文
点击右上角即可分享
微信分享提示