make: 没有什么可以做的为 `all_modules'(编译android单个源码)

别的工程师编译过的Settings,我一开始编译不通过,后面发现少了proguard.flags文件,添加后编译通过,但是功能不对,想重新编译,就报make: 没有什么可以做的为 `all_modules',后来发现是没有选择lunch问题,选择后通过。

具体步骤:

1,source ./build/envsetup.sh

2, lunch 然后选择相应平台(10)

3, touch package/apps/Settings(更新)

4,mmm package/apps/Settings

 

链接一下别人遇到同样问题:

今天在项目中遇到个非常头疼的问题,主要是因为自己第一次做Framework,对底层编译什么的完全不了解导致的。

情况是这样的,我们需要自己编译Framework运行在Galaxy S上,其他同事都可以正常编译一个大约为4M的framework.jar,直接adb push /system/framework下重启手机即可。

但是我的电脑在第一次正常编译之后生成的framework.jar才十几k,第二次编译就报make: 没有什么可以做的为"all_modules"的bug。




查了很多资料才知道Android原生编译framework是生成framework.jar(1x.kb) 和framework.odex(8M左右)的两个文件,模拟器中使用的就是framework.odex而不是framework.jar

也就说我编译的是正常的。




而想要把odex文件打包进framework.jar中,需要在编译之前选择lunch模式为8(android 4.1.1_r3的源码)。这样就只会生成framework.jar(大约4M)的文件。再替换真机上的framework.jar即可





全过程为:

1.下载源码

2.source build/env......sh

3.lunch

4.8

5.make framework




之后直接make framework即可.

 

 

 

 

 

 

你可能感兴趣的:(make: 没有什么可以做的为 `all_modules'(编译android单个源码))