android编译framework架包运行报错 (转)

android编译framework架包运行报错

http://blog.csdn.net/cqupt_chen/article/details/8163632

最近在看frameworks里的源码,手痒了,便想改改看看效果,没想到改完后,模拟器却运行不起来了。
       
首先声明,我是用的android 4.0.3
ICS的源码,编译好后,利用编译好的镜像启动的模拟器,以前修改过里面的Launcher,将生成的Launcher.apk和Launcher.odex 
push后是成功的。
现在我在
frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java
frameworks/base/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
中加了一点log,其实就是解锁时相应的输出坐标等信息,
试了两种方法:
1.
make framework  
  make snod

2.  在framework/base中mm
  adb push framework.jar 和 framework.odex
到 system/framework/

结果都是在启动模拟器时,在开机显示 android字样时进不去了,ddms中不停的打印如下信息:
07-30 06:50:52.762:
I/ServiceManager(30): service ‘media.audio_policy‘ died
07-30 06:50:52.762:
I/ServiceManager(30): service ‘media.audio_flinger‘ died
07-30 06:50:52.762:
I/ServiceManager(30): service ‘media.player‘ died
07-30 06:50:52.762:
I/ServiceManager(30): service ‘media.camera‘ died
07-30 06:50:52.822:
I/Netd(383): Netd 1.0 starting
07-30 06:50:52.842: E/Netd(383): Unable to
bind netlink socket: No such file or directory
07-30 06:50:52.842:
E/Netd(383): Unable to open quota2 logging socket
07-30 06:50:53.253:
I/(381): ServiceManager: 0xf958
07-30 06:50:53.253: I/AudioFlinger(381):
Loaded primary audio interface from LEGACY Audio HW HAL (audio)
07-30
06:50:53.253: I/AudioFlinger(381): Using ‘LEGACY Audio HW HAL‘ (audio.primary)
as the primary audio interface
07-30 06:50:53.253:
D/AudioHardwareInterface(381): setMode(NORMAL)
07-30 06:50:53.253:
I/CameraService(381): CameraService started (pid=381)
07-30 06:50:53.262:
D/EmulatedCamera_QemuClient(381): Emulated camera list: 
07-30
06:50:53.262: D/EmulatedCamera_FakeCamera(381): Initialize: Fake camera is
facing back
07-30 06:50:53.262: V/EmulatedCamera_Factory(381): 1 cameras are
being emulated. Fake camera ID is 0
07-30 06:50:53.272: I/AudioFlinger(381):
AudioFlinger‘s thread 0x10fb0 ready to run
07-30 06:50:53.272:
W/AudioFlinger(381): Thread AudioOut_1 cannot connect to the power manager
service
07-30 06:50:53.272: I/AudioPolicyService(381): Loaded audio policy
from LEGACY Audio Policy HAL (audio_policy)
07-30 06:50:56.022:
D/AndroidRuntime(393): >>>>>> AndroidRuntime START
com.android.internal.os.ZygoteInit <<<<<<
07-30
06:50:56.022: D/AndroidRuntime(393): CheckJNI is ON
07-30 06:50:56.042:
I/dalvikvm(393): DexOpt: mismatch dep signature for
‘/system/framework/framework.odex‘
07-30 06:50:56.042: E/dalvikvm(393):
/system/framework/android.policy.jar odex has stale dependencies
07-30
06:50:56.042: I/dalvikvm(393): Zip is good, but no classes.dex inside, and no
valid .odex file in the same directory
07-30 06:50:56.042: D/dalvikvm(393):
Unable to process classpath element
‘/system/framework/android.policy.jar‘
07-30 06:50:56.042: I/dalvikvm(393):
DexOpt: Some deps went away
07-30 06:50:56.042: E/dalvikvm(393):
/system/framework/services.jar odex has stale dependencies
07-30
06:50:56.042: I/dalvikvm(393): Zip is good, but no classes.dex inside, and no
valid .odex file in the same directory
07-30 06:50:56.042: D/dalvikvm(393):
Unable to process classpath element ‘/system/framework/services.jar‘
07-30
06:50:56.042: I/dalvikvm(393): DexOpt: mismatch dep signature for
‘/system/framework/framework.odex‘
07-30 06:50:56.042: E/dalvikvm(393):
/system/framework/apache-xml.jar odex has stale dependencies
07-30
06:50:56.042: I/dalvikvm(393): Zip is good, but no classes.dex inside, and no
valid .odex file in the same directory
07-30 06:50:56.042: D/dalvikvm(393):
Unable to process classpath element ‘/system/framework/apache-xml.jar‘
07-30
06:50:56.042: I/dalvikvm(393): DexOpt: mismatch dep signature for
‘/system/framework/framework.odex‘
07-30 06:50:56.042: E/dalvikvm(393):
/system/framework/filterfw.jar odex has stale dependencies
07-30
06:50:56.042: I/dalvikvm(393): Zip is good, but no classes.dex inside, and no
valid .odex file in the same directory
07-30 06:50:56.042: D/dalvikvm(393):
Unable to process classpath element ‘/system/framework/filterfw.jar‘
07-30
06:50:56.682: E/JNIHelp(393): Native registration unable to find class
‘com/android/server/Watchdog‘, aborting
07-30 06:50:56.682: A/libc(393):
Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
后来根据高手的提示,去看
build/core/main.mk,发现里面有个droidcore命令,
尝试使用make
droidcore编译后,模拟器成功运行,并打印出修改的log,后来仔细分析droidcore:
755 .PHONY: droidcore
756
droidcore: files \
757     systemimage
\
758     $(INSTALLED_BOOTIMAGE_TARGET)
\
759     $(INSTALLED_RECOVERYIMAGE_TARGET)
\
760     $(INSTALLED_USERDATAIMAGE_TARGET)
\
761    
$(INSTALLED_FILES_FILE)
发现一开始是执行systemimage,于是我又尝试用make
systemimage来编译:
修改framework中源码,在framework/base 中mm,退至源码根目录,make
systemimage后,启动模拟器,修改效果成功显示。
Ps:
1.貌似执行make snod(systemimage no
dependence)不行,看来要编上dependence才行。
2.在make systemimage 之后一定要关闭模拟器重开才行,执行adb
shell stop,adb shell start也不行。
就是时间比较长,编一下要10分钟左右。

时间: 2024-10-16 16:24:59

android编译framework架包运行报错 (转)的相关文章

appium在android 7.0真机上运行报错command failed shell:............ps:&#39;uiautomator&quot;的解决方式

appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_modules\appium\node_modules\appium-adb\lib 2.打开adb.js,可使用notepad++编辑器等打开文件(说明:在修改代码的时候先注释掉以前的代码,并且添加自己容易识别的标记,以防出错后还有回旋的余地,或者将代码备份也可行),找到如下代码: ADB.pro

【Android笔记】Android引用第三方依赖包library报错解决方法

在Android工程项目中,我们经常需要引用第三方依赖包library,有可能遇到以下引用报错的问题: 在设置完library后重新打开显示管理错误,就是reference那里有个红叉叉,eclipse没有报错. 那么有可能是因为: 在windows系统下,你的工程项目跟要引用的library工程项目不是在同一个盘符或跟目录下. 因为如果在不同盘符,project.properties中的android.library.reference.1值变成绝对路径,而ADT推荐是在ubuntu下使用的,

javac编译出来的程序运行报错“错误: 找不到或无法加载主类”

使用javac编译java文件生成class文件 >javac HelloWorld.java执行class文件>java HelloWorld 原因: 含有包名 解决办法: 按照包的结构新建目录,在最外层目录编译javac net/newcapec/HelloWorld.java,然后执行java net.newcapec.HelloWorld 源码```package net.newcapec; /** * @author admin * */public class HelloWorld

解决新建Support7Demos的sample时出现编译错误和运行报错出现的问题

右键New->Other->Android Sample Project->选择Android 4.4.2->选择Support7Demos ,finish. 会出现编译错误 解决如下: 1.把这三个文件导入到Eclipse里, 这三个是库文件,并且勾选COPY到工作空间里选项 如果没有这三个文件,就从这里下载 2.导入三个library工程后,mediarouter会无法编译,打开工程属性在anroid里将api-level改成17,添加依赖工程appcompat 3.就是将刚才

UE4 Android平台运行报错:Assertion failed:OpenGLES2.h

此运行报错提示是出现在升级UE4引擎后,工程好不容易打包成功但在Android上运行却出现以下提示. 一开始以为是工程中Sequeue及播放视频相关资源引起的,在删除过后重新打包运行还是白费. 又觉得是SDK版本引起的,在更换打包后也白搭. 于是重新创建新工程打包运行后竟然看到了湛蓝的天空. 痛定思痛才发现4.23版本中 OpenGL ES2是被引擎丢弃的,而我的工程之前是勾选的.其实仔细看以下日志早应该解决问题,还是太年经啊.知道真相的我内心万马奔腾而过... 于是打包运行吧,↓↓↓↓↓↓哈哈

iOS微信支付demo运行报错解决如下

要接入微信支付的小伙伴,首先要下载一份官方demo(APP微信支付官方Demo下载),然后打开工程,准备大干一场. 1.编译报错 编译的时候居然直接报错了(orz) 错误提示: APP微信支付官方Demo报错 解决方法:添加CFNetwork.framework 库选中项目名称 -> 选中TARGETS -> 选中Build Phases -> 在Link Binary With Libraries中添加 -> 点击"+"号,加入CFNetwork.framew

iOS开发运行报错、常见问题

一.报错与警报 1.错误代码:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s) build 这个target的时候命令行报错.可以在 build setting 中,搜索bitcode,并吧 enable bitcode 设置为 NO. 2.ld:framework not found IOKit 终端输入以下2行内容 1 2 3 cd/Appl

appium运行报错java.net.SocketException: socket write error

这个错我调了 快两天一点头绪没有,脚本正常跑没问题,但是就是控制台输出信息报错,没法定位问题在哪.报错如图: 虽然这个报错不影响测试结果,但是本人有强迫症,一定要查出究竟: 我的尝试: 1.那天试验,服务器上的代码没问题,我本地一运行就报这个错,结果我把系统重装了(先前我查了两个小时百度加上尝试,无果) 2.今天从中午开始又开始搞起来,起初怀疑是我的io操作引起的,结果在finanly加了process.destroy();及p.getErrorStream(),close也不行, 网上查了说是

Django 运行报错 ImportError: No module named &#39;PIL&#39;

importError: No module named pil WIN7 64位系统安装 Python PIL 首先通过easy_install安装 说找不到pil模块. 第二通过去官网找:http://www.pythonware.com/products/pil/ 找了几个版本安装版的没有64位的,源码包的下载无法安装说要安装vs2008我也安装了还是不行.最后在这个地址找到:http://www.lfd.uci.edu/~gohlke/pythonlibs/ Pillow is a re