最近将Eclipse中Android项目导入到了IDEA中,项目分两部分,其中一个为Library,导入后编译通不过,项目中相当多的jar为主工程与Library共用,在Eclipse中没有问题,而IDEA不行。
在IDEA中尝试了几次,总提示找不到Class或者“Unable to execute DX”。因为缺少资料,最经过不断尝试,终于解决问题,步骤如下:
1.打开project Structure
[img]http://dl2.iteye.com/upload/attachment/0102/2072/b7e59a99-b0c0-37c3-bad0-bd2a442e0d9d.png[/img]
选择“Libraries”,后点“+”增加一个java的Library库集合
[img]http://dl2.iteye.com/upload/attachment/0102/2076/7aa0b34a-66b0-3fa4-adc4-36150c9a4a02.png[/img]
选择主工程与库工程都用到的jar后,确认时,需要选择用到该库的项目,选主工程与库工程即可。
2.回到project Structure主界面,选择“Modules”.
[img]http://dl2.iteye.com/upload/attachment/0102/2078/c17803e7-bca4-3881-9468-26aa15b6f10c.png[/img]
在主工程与库工程的“Dependencies”选项卡中,分别打开其依赖的libs集合,去掉公共libs集合中已有的jar即可。
我分析了一下,在Eclipse没问题,是因为Library工程中引入的jar,被自动加入到主工程的“Android Private Libraries”中,所以Library工程中的jar,主工程能正常使用,而在IDEA中,间接使用不了Library工程中的jar,为了能使用,就在主工程中直接去引入主工程也要用到的Library工程中的jar,编译时就会出现jar重复的问题。
解决方式就是把jar提炼出来,做为公共部分为二者都能引用。
在IDEA中尝试了几次,总提示找不到Class或者“Unable to execute DX”。因为缺少资料,最经过不断尝试,终于解决问题,步骤如下:
1.打开project Structure
[img]http://dl2.iteye.com/upload/attachment/0102/2072/b7e59a99-b0c0-37c3-bad0-bd2a442e0d9d.png[/img]
选择“Libraries”,后点“+”增加一个java的Library库集合
[img]http://dl2.iteye.com/upload/attachment/0102/2076/7aa0b34a-66b0-3fa4-adc4-36150c9a4a02.png[/img]
选择主工程与库工程都用到的jar后,确认时,需要选择用到该库的项目,选主工程与库工程即可。
2.回到project Structure主界面,选择“Modules”.
[img]http://dl2.iteye.com/upload/attachment/0102/2078/c17803e7-bca4-3881-9468-26aa15b6f10c.png[/img]
在主工程与库工程的“Dependencies”选项卡中,分别打开其依赖的libs集合,去掉公共libs集合中已有的jar即可。
我分析了一下,在Eclipse没问题,是因为Library工程中引入的jar,被自动加入到主工程的“Android Private Libraries”中,所以Library工程中的jar,主工程能正常使用,而在IDEA中,间接使用不了Library工程中的jar,为了能使用,就在主工程中直接去引入主工程也要用到的Library工程中的jar,编译时就会出现jar重复的问题。
解决方式就是把jar提炼出来,做为公共部分为二者都能引用。