栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android Framework开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Framework开发

Android Studio 导入framework代码,并对framework断点调试,
推荐IDE使用Android Studio。

注意:

也可在Android Studio里直接编辑代码,例如修改 com/android/server/power/PowerManagerService.java 这个文件,
先将 com/android/server/power 这个文件夹改成777,再将PowerManagerService.java 改成777
这样将可编译保存文件了,不然会提示备份出错。

具体命令:

sudo chmod 777 android/frameworks/base/services/core/java/com/android/server/power/
sudo chmod 777 android/frameworks/base/services/core/java/com/android/server/power/DisplayManagerService.java

在android目录下,编译命令:

./mk_android.sh -t userdebug -p frameworks/base/services/

services.jar编译好了,就可以push到手机上了,命令如下:

adb devices
adb remount
adb push D:ABCSM8250_Qandroidouttargetproductkonasystemframeworkservices.jar system/framework/
adb shell stop && adb shell start //敲完后,Android Dalvik虚拟机会重启(注意 不是手机重启) 后面再push文件时,adb remount不需要再敲。 手机重启时,敲一遍adb remount


LOG

加log

Slog.i(“liu===”, "liu— iR_is_running = " + iR_is_running);

log输出

adb logcat -s liu

=============================================

framework开发经验

把调用堆栈显示出来

if (DEBUG_SPEW) {
StackTraceElement[] stack = new Throwable().getStackTrace();
for (StackTraceElement element : stack)
{
Slog.d(TAG, “PowerMS |—-” + element.toString());
}
}

因为Android Studio由于内存的原因,一般不能导入所有源码。 所以结合网页看源码,网页上所有类、变量都能找到定义。
Google源码网址: cs.android.com (需要科学上网)

如果只改了一个文件: androidframeworksbasecorejavaandroidviewViewRootImpl.java
编译命令: ./mk_android.sh -t userdebug -p frameworks/base:framework ,
只编译一个framework.jar文件

2022年3月6日
上海徐汇

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754910.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号