rom定制笔记(一)
2017-04-05 14:28
176 查看
1.怎么开启mass_storage
(5.1上的方法)当然首先得有调用系统API的权限,然后 UsbManager的setCurrentFunctions(UsbManager.USB_FUNCTION_MASS_STORAGE, true) StorageManager的enableUsbMassStorage();
2.怎么预装sogouInput
1.将sougouinput.apk放在apps目录底下。然后需要编写一个mk文件,让编译系统能识别LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := SogouInput LOCAL_MODULE_TAGS := optional #兼容 LOCAL_MULTILIB :=32 LOCAL_SRC_FILES := $(LOCAL_MODULE).apk #apk文件用APPS, 并且 会检查 是否是apk文件,动态库so文件用SHARED_LIBRARIES ,bin文件用EXECUTABLES,其他文件 用ETC LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) #若有so,使用LOCAL_PREBUILT_JNI_LIBS列出所有so的路径,不要忘记使用@。@标识符会将apk中的so抽离出来build进apk同级目录下的lib文件夹中 LOCAL_PREBUILT_JNI_LIBS:= \ @lib/armeabi/libbutterfly.so \ @lib/armeabi/libNinepatch.so \ @lib/armeabi/libsogouupdcore.so \ @lib/armeabi/libweibosdkcore.so #表示 这个apk已经签过名了,系统不需要再次 签名 LOCAL_CERTIFICATE := PRESIGNED include $(BUILD_PREBUILT)
当然,如果想把搜狗设置为默认输入法,可以参考:
http://blog.csdn.net/wlwl0071986/article/details/47680807
3.keyguard
a.怎么实现的下滑只出咱们自己的下拉界面?
android默认手从屏幕顶部下滑的时候怎么出来一个界面?我记得葛大爷说的是点击到了状态栏?怎么屏蔽的系统的?
找到了!
frameworks/base/core/res/res/values/dimens.xml里面
status_bar_height的高度被设置成了零。
那也就是说安卓本来下拉菜单是点击了状态栏才出来的,现在高度设置成了0,点击不到,所以不会响应任何事件,就相当于屏蔽了。
咱们自己的,就是一个service.不断监听着下滑的动作。
keyuard原理:http://blog.csdn.net/ocean2006/article/details/8079457
4.怎么添加自己的应用作为系统应用?
基本和2类似,但是需要注意的是LOCAL_CERTUFICATE := platform LOCAL_PRIVILEGED_MODULE := true
关于LOCAL_CERTUFICATE
http://www.cnblogs.com/senior-engineer/p/4775316.html,
解释的非常好
与这个相应对应的manifest中需要设置
android:sharedUserId=”android.uid.system”。这两者都有了,就可以称得上系统应用了,各种限制级API,隐藏API随便调用,理论上来说可以实现任何功能了。
LOCAL_PRIVILEGED_MODULE//声明app需要放在/system/priv-app下。
5.实现自己的锁屏应用关键点
看我这个帖子:http://blog.csdn.net/bberdong/article/details/69257758
6.带源码的系统应用中加入jar包
我碰到的情况是加入一个gson.jar。android-support都是系统自带的,无需处理,而gson就比较麻烦了。可以用下面的方法来处理。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under,src) \ src/com/android/content/pm/IPackageDataObserver.aidl \ src/com/android/os/IPowerManager.aidl \ src/com/btime/binder/ITrafficStateSync.aidl \ src/com/btime/binder/ITrafficStateCallback.aidl #step1 LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 \ android-support-v13 \ gson-2.2.4 #only use in debug mode #LOCAL_DEX_PREOPT := false LOCAL_PROGUARD_ENABLED := disabled LOCAL_PACKAGE_NAME := Settings LOCAL_CERTIFICATE := platform LOCAL_PRIVILEGED_MODULE := true include $(BUILD_PACKAGE) #step2 include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ gson-2.2.4:libs/gson-2.2.4.jar include $(BUILD_MULTI_PREBUILT) include $(call all-makefiles-under,$(LOCAL_PATH))
必须有step2的prebuilt过程,要不然还是报错。还有啊,这一段
不能放在
include $(BUILD_PACKAGE)前面,
include $(CLEAR_VARS)把之前的设置都清掉了,最终编出来的结果只有一个gson的jar包。
相关文章推荐
- Android深度探索(卷2)系统应用源代码分析与ROM定制 读书笔记1
- ArcIMS学习之 HTML Viewer定制笔记 续五(5.Javascript纪要)
- 兔八哥笔记12:定制你的LDAP目录的Schema
- MonoRail学习笔记五:定制服务实现自定义功能
- Jetspeed JetExpress Tutorial Portal笔记1 -- 定制portal安装
- 手把手教你修改定制WM5的ROM(带图和相关工具)
- wm系统ROM模板定制教程
- ROM定制原理(转)
- [Mono学习]树形视图TreeView学习笔记(三):对CellRenderer的属性进行定制
- unix学习笔记一 定制unix
- ArcIMS学习之 定制HTML VIEWER笔记
- bash学习笔记2-定制环境
- ROM定制贺岁篇
- 577w 简体中文版 ROM 定制过程详解
- ArcIMS学习之 定制HTML VIEWER笔记
- ArcIMS学习之 HTML Viewer定制笔记 续一(1.概要&流程)
- ArcIMS学习之 HTML Viewer定制笔记 续三(3.请求&响应)
- Cougaar学习笔记之---定制特殊的AspectType和AspectValue
- ROM定制原理知识------传奇神话
- [教程] ROM定制教程:手把手教你做ROM(已整理到第五部分...)