Android | 导入Eclipse项目到Android st
D老师今天给了一个Android项目,但是他当时(2015年)用的是eclipse写的而我用的是Android studio,所以在导入项目的过程中出现了一些常见的问题,在这里总结一下解决的问题的过程。
1.eclipse项目导入到Android studio的过程:
File->New->Import Project->选择文件所在目录,从这里进行导入的话可以省去很多事,不用再手动去修改很多文件。

接下来如果sdk版本不一样的话需要更新到最新版本。比如这里我要导入的项目用的Android-19,而现在已经更新到Android-25了,所以需要到app文件下的build.gradle里面进行修改。

修改后如下图,这是我用的时候的最新版本号。然后就可以啦。

2.file was loaded in the wrong encoding:“utf-8”:

编译的时候出现了中文乱码的情况,并且提示当前使用的编码格式utf-8是错误的。因为这个项目采用的是GBK的编码方式,所以我们需要修改一下编码方式。
点击File->setting->Editor->File Encodings,选择Project Encoding为GBK,然后最下面的那个编码方式设置为系统默认(System Default)就可以了。可以看到,这个项目的默认编码方式是GBK。

但是,这样修改了还没有结束!还需要在app文件夹下的build.gradle里面的添加这样一句话,强制设置encoding=“GBK”。这样就是真的解决了乱码问题了,在手机APP上试了下,可以正常显示了。(但是我还是不太清楚为什么没有加这句代码手机上显示的乱码,希望有知道的小伙伴可以告诉我~)

3.程序包org.apache.http不存在:

这个问题百度了一下,解决方法是在build.gradle下添加下面这句话,然后就解决了,所以就不多说了。记得点击上面的Sync Now刷新一下。

4.错误:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
错误描述如下图。Duplicate files copied in APK META-INF/LICENSE大意就是说项目中引用的jar存在重复文件。

解决方法:需要添加一些语句使忽略这些重复文件,可以一个一个添加,也可以一次性忽略所有的。(具体可以参看:https://stackoverflow.com/questions/27977396/android-studio-duplicate-files-copied-in-apk-meta-inf-dependencies-when-compile?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa)
在build.gradle的android节点添加如下代码即可全部忽略。
packagingOptions {
pickFirst 'META-INF/*'
}

然后这个项目就可以在Android studio上正常运行啦。