Eclipse项目迁移为Android Studio项目步骤及注意事项
Gradle的基础
想要将Eclipse转为Android Studio项目,那么Gradle语法是必修课。此处引进一篇文章,基础就不写了,Gradle基础
1. 在Android 项目下跟Gradle相关的都是哪些文件。
2. 几个相关文件的语法在上面的文章中已经写出。
Eclipse项目迁移为Android Studio项目步骤
1. 在项目中添加Gradle相关文件
Gradle项目上右键-->Export-->Android-->Generate Gradle build files-->检查Gradle文件是否都生成了。
2. 以Android Studio项目或者Gradle项目导入都ok。
3. 修改gradle对应的版本请参考我的另一篇博客:Android studio导入开源项目问题解决汇总
4. 至此,项目导入完成,遇到的其他问题见注意事项中。
Android Studio新手导入Eclipse项目注意事项
1. 在引入moudle的build.gradle中的apply plugin: 'com.android.library'
,标识当前的moudle是一个libary,而不是apply plugin: 'com.android.application'
2. 用Eclipse到处的Gradle,libary中的清单文件中如果有application
节点,请删除,否则会报错,因为编译的时候gradle会找到两个application
节点。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application>
3. 由于Android Stduio对于图片格式要求比较严格,从Eclipse转过来的情况下,一般都会报图片格式错误AAPT err(Facade for 1059284777): libpng error: Not a PNG file
,那么请按下面说明修改:
在APP的build.gradle下的android项中添加:
//放宽PNG图片检查条件
aaptOptions.cruncherEnabled = false;
aaptOptions.useNewCruncher = false;
4. 主工程和libary中如果有相同的jar,Eclipse中是不会报错的,而Android Studio中则会报类重复错误,那么我们将主工程中和libary中重复的jar删除即可。
5. 从Eclipse转过来的Android Studio项目不会默认添加so的路径,能够编译成功,也能安装成功,但就是启动报错,可以看出so报错,然后VM就挂掉了,说明没有找到so的路径所在。在主工程的build.gradle中配置以下代码即可,表示so库的路径在libs下,也可指定为其他路径。
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
6. 引入本地jar推荐使用这种方式,不需要每添加一个jar都add一次。
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
7. 编译ok后,运行报错:Could not find XXXX in APK; aborting.
请按如下设置重新运行。
File - Settings - Build,Execution,Deployment - Instant Run,去掉Enable Instant Run...边上的钩