[Android Version]
Android V2.3 (GB,GB2,GB3)
Android V4.0, 4.1(ICS,ICS2,JB)
Android V4.2(JB2,JB3)
[DESCRIPTION]
一般来说,alps工程中的系统应用导入Eclipse后一般都会有很多编译错误,下面我们会以Phone模块为例来说明如何消除这些编译错误,方面我们使用Eclipse进行开发与debug。
[SOLUTION]
1、 将alps中的系统应用取出,例如我们取出./alps/package/apps/Phone/,在Eclipse中新建一个Android Project,将之前取出的Phone模块导入,然后我们就会发现有很多编译错误:
2、 由于Google原生SDK中android.jar的限制,我们需要继续添加一些jar文件参与编译解决编译错误。在我们编译整个alps工程时,其实我们需要的jar文件已经产生,路径为:
a) alps/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
b) alps/out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
c) alps/out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar
将以上三个jar文件分别重命名为framework.jar\core.jar\ext.jar,然后导入之前Eclipse建立的工程中:
查看一下效果,看看是否还有编译错误。
这里建议将SDK自带的android.jar删除,因为它会被优先编译,导致编译错误。
3、 如果还有错误,可能是还要依赖其他的.java,将这些 .java 文件(.aidl / .java)copy 过来一起编译即可,这里注意package name要用对。
4、若是有发现API level的的编译错误,可以尝试使用在工程上右键---Android Tools---Clear Lint Markers来尝试忽略。这样编译错误就基本清理完毕。
注意事项:
Android 4.1之后的版本,Google开始对framework做拆分,例如有可能还需要加入secondary-framework.jar/telephony-common.jar等。可以仿照以上方式将需要的jar档导入即可