本人在做Android开发之处便选择的是Eclipse,直到最近,应为自己想试试热更新相关的内容,便自己将以前的工程直接在Eclipse中导出为android studio工程。(我选的是bugly热更新,集成方便,快速,好用且不收费,它不支持eclipse中集成)
在下载并且安装配置好了最新的android studio(3.0)之后,发现在导入的工程中无法创建app目录的build.gradle文件,而且就没有app目录(刚开始我也没发现这一点),手动创建的build.gradle为工程更目录的build.gradle。所以费了老大劲还是失败了。(也许有大神知道怎么办)
折腾了好几天,失败的过程就不说了。现在说说我的移植方法,创建android studio的工程,创建好新的android studio工程目录中,会存在一个app文件,这时候关闭android studio,打开eclipse中的工程源码,将工程内部src/包名的java文件直接复制在android studio工程中的app/src/main/java/包名下,注意android studio创建项目时就要保持与eclipse中的包名一致。再将eclipse中res目录下的内容直接复制到app/src/main/res目录下。manifest文件也复制到app/src/main/目录下覆盖原来的文件,总之直接复制过来就好。
到目前为止,如果你的项目没有native代码,好的,那么你已经移植完成了。接下来说说native代码的处理。首先,用android studio再次打开移植好的工程,打开根目录下的gradle.properties文件,并在末尾添加如下代码:
android.useDeprecatedNdk=true
然后在android studio工程的app/src/main/目录下创建libs目录,再将elicpse中libs目录下的文件复制过来。
在app Module下的build.gradle文件中添加如下android {
defaultConfig {
ndk {
//设置支持的SO库架构
abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
}
注意要添加在android{}内。
同样的,在android{}内添加
sourceSets {
main {
jni.srcDirs = []
}
}`
以屏蔽android studio中的ndk编译。
如果编译遇到中文乱码的情况,在android{}内添加
compileOptions {
encoding ‘GBK’
}
就搞定了。
nweet/stackedit