Eclipse转战Android Studio心酸史

来源:互联网 发布:51单片机控制3d打印机 编辑:程序博客网 时间:2024/05/23 19:09
eclipse用了三四年了,对于转战Android Studio真的是被逼无奈,不过AS作为Google的亲儿子,对于Android开发肯定也有很大的好处,特此记录转换时遇到的问题及解决方案。

1.转战原因
当一个工程足够大时,总的方法数超过了65535个,编译的时候就会报错:
java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536 ,方法总数超出了dex 64K的限制导致编译无法通过,此问题的解决方案有两个,第一是分包,将Android编译文件分成多个dex包;第二是使用插件的形式,将一个应用按功能模块划分多个apk文件。AS自带支持dex分包机制,这类问题就轻松地解决了。

2.eclipse运行方法数超过65535的工程
如果想使用eclipse强行运行程序,可以将build path中的order and export中一些测试中没有用到的jar取消勾选,例如我想测某一个界面列表显示是否正确,就可以将微信分享等jar包暂时取消勾选,这样编译能够通过,测试的过程中不去使用分享就不崩溃。

3.异常Execution failed for task’:app:transformClassesWithJarMergingForDebug’.
>com.android.build.api.transform.TransformException:java.util.zip.ZipException: duplicate entry:android/support/v4/app/BackStackState$1.class
support-V4,与工程中引用的相冲突的缘故,要确保一个module中只引用一份相同的第三方包。我是找到工程目录src下,有一个android.**.multidex的包,删除就可以了。这个可能只是我的工程问题的解决方案。

4.Error running app: Instant Run requires ‘Tools | Android | Enable ADB integration’ to be enabled.
Android Studio->Tools->Android->Enable ADB integration 勾选.

5.Android Studio下添加assets目录
没有就新建目录,位置在src\main\assets,工程目录有一个xxx.iml文件,里面指定了路径

<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
0 0
原创粉丝点击