给产品打patch有时候会遇到很多问题,给产品打patch而且大多数是给很多老版本的Studio打,而且要有对应的patch的开发环境.
但是不巧有些patch对应的git仓库目录结构和一些其他版本的目录结构是不一样的,而且一些版本是从svn迁移过来的和git上有些对的文件路径的处理不一样,可能会造成java类文件编译上的错误.
各个版本的对应的git库中的文件结构目录如下:
&
&
&
&
===============================patch5.4Eclipse工作空间的配置============================
要给5.4版本上打patch.首先配置patch5.4的Eclipse的开发环境.
如下图:
下面附图对比针对patch54来cherrypick maintenance5.4 之后git的目录结构的变化.(主要是看git视图下的working driectory文件夹)
&
打patch找的是对应Java类文件编译成的class文件.能否编译出class文件是关键的.
问题①:java类文件在Eclipse中有编译错误能编译出class文件吗?
问题②:即使出现编译错误的java类编译出了class文件能用于打patch吗?
问题③:首先要编译出对应的class文件.
编译出class文件是最主要的.能否成功编译出对应的class文件,该java类文件中引用的类一定要存在.插件开发中依赖的targetPlatForm一定要加载到Eclipse中.这一点一定要有.否则引用的那些插件没有的话一定不能编译.
(这个地方并不用配置Debug Configuration,因为配置这个是在运行的时候才需要的).
但是针对于patch5.4版本就算是加载了依赖的TargetPlatForm之后也是无法进行编译的.因为之前公司是用的SVN用来管理,现在迁移到了git上,svn和git在处理不同的文件目录的时候是有区别的.
要想正常的编译出class文件的话就要对一些插件项目(尤其是依赖的libraries项目插件)的.classpatch文件中不存在的路径进行删除.
解决方法:
本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4692969.html,如需转载请自行联系原作者