android 源码下如何将修改编入image 以及其他遇到问提总结

1.          编译报错,找不到R相关资源
在源码目录下新建一个应用,或者复制其它应用时,常出现这个错误。
1)         什么是R.java
R.java中编译时自动生成的,工程用到所有的资源,都会用到R.java
2)         何时生成
在源码根目录下make全部代码时,才会对每个模块生成R.java
对资源更改后也会重新成生R.java
3)         生成在哪里
out/target/common/obj/APPS/程序名/…../R.java (用find找一下)
4)         解决方法
只要把相关的R.java都删掉
再更新资源(res目录)中一个资源文件(xml),使得R.java重新生成
重新mm
2.          查看当前堆栈调用关系
$ rm /data/anr/traces.txt                 清除之前log信息,因为log信息是追加到此文件中的
$ ps 找应用对应进程号
$ kill -3 进程号                    该进程当前的堆栈调用写入traces.txt
$ cat /data/anr/traces.txt                 查看堆栈信息
3.          修改framework带来的界面显示不正常
重编公共控件时,新生成了framework.jar,常用把它复制到设备中/system/framework/目录下的方法调试,有时会遇到替换framework.jar带来的资源不对的问题,即有些文字和图片显示不正常了。
这是由于framework.jar和system目录中其它的资源ID不统一造成的。解决办法是重做system.img并把它烧写到系统中(参见烧写文档),以下两种方法重做system.img
1)         使用打包命令
$ out/host/linux-x86/bin/mkyaffs2image -f out/target/product/qsd8250_surf/system  out/target/product/qsd8250_surf/system.img
2)         在编译时加snod参数,以重建系统镜像(system.img)
$ mm snod
4.          打印当前类名和包名
1)         打印当前类名
Log.d(“TEST”, “class “ + this);
2)         打印当前包名
Log.d(“TEST”, “package” + context.getPackageName());
5.          程序中等待的实现
import java.lang.Thread;               // sleep属于Thread类

try {            // sleep必须使用try
         Thread.sleep(50);
} catch (InterruptedException e) {
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值