Android工程编译顺序是怎么样的?先编译哪个模块,后编译哪个模块由谁来决定的?

我现在遇到一个问题:1、Android工程未编译->将某个应用的源码放入/package/apps/目录下->make整个工程->一分钟左右编译停止->提示编译新应用的时... 我现在遇到一个问题:
1、Android工程未编译 -> 将某个应用的源码放入/package/apps/目录下 -> make整个工程 -> 一分钟左右编译停止 -> 提示编译新应用的时候失败。
2、将放入的应用剪切至工程外 -> make整个工程 -> 两三个小时后编译完成 -> 将那个应用再放回去 -> 进入应用目录下 -> 运行mm命令进行编译 -> 成功编译出apk!

我怀疑该应用依赖于某些模块(比如frameworks)的编译结果,假如能将该应用的编译动作安排到最后,使它最后编译,应该就没有这个问题。
关键是如何左右工程的编译顺序,求大神们帮忙,不胜感激!!!
问题找到原因了:该应用的Android.mk文件写法有问题,导致编译时不能在Android的编译树上生成合理的依赖,因此编译不过。
具体来说,Android在编译的时候,会寻找各个目录下的Android.mk,这些mk文件里会指明当前模块依赖于哪些模块,如果所依赖的那些模块没有编译出来,那么编译系统就会先去编译那些模块,一级级往下找,然后一级级往上返回。这个和递归是一个道理的。
假如一个应用程序里包含jni,当我们手动编译单个应用时,首先会进入jni目录,运行mm,生成jni.so后,再到外面来运行mm,生成apk。
 但是,把该应用当成工程的一个模块编译,编译系统会首先执行jni外面的Android.mk,我碰到的这个问题就是外面的这个Android.mk写错了,没有严格的依赖关系,从而导致在全工程编译的时候出错。
  虽然1096424240的回答与Android工程的编译顺序没关系,但是还是谢谢你的回答!:)
展开
 我来答
百度网友33dab3f
2013-05-29 · TA获得超过1398个赞
知道小有建树答主
回答量:1283
采纳率:76%
帮助的人:655万
展开全部
在ActivityManifest.xml声明的Activity中,含有
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
是最先执行的,其它类就的顺序在这个主函数中先调用或跳转哪个就是哪个了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式