Android源码工程转化为Android Studio项目的方法

作者:Yongquan.xu

用习惯了AndroidStudio,用回Eclipse,感觉各种不习惯,代码助手也比较差,毕竟Google弃用了有一段时间了,于是就想着怎么把系统原生应用改成AS的工程格式,同时保证在源码里可以正常编译。下面介绍改造的主要步骤:

1、  安装Android并更新到最新(这不是废话么)

2、  AndroidStudio->File->New->Import Project,选择Eclipse的工程目录,As会判断这是Eclipse并转换为AndroidStudio的工程。

Android源码工程转化为Android Studio项目的方法_第1张图片

Android源码工程转化为Android Studio项目的方法_第2张图片

注意Eclipse工程里不能有其多余的文件,比如build.gradle,Eclipse的工程属性文件可以保留,会在转换时被过滤掉。

一路点击Next,完成转换,转换后大致结构如下:

Android源码工程转化为Android Studio项目的方法_第3张图片

AndroidStudio的主要工程结构是Project->Module,一个工程可以包含多个Module,各个模块之间可以独立或依赖。可以看到,其实As的目录和源码还是有点类似的,源码编译需要用到的目录,都在->src->main下面。

3、  修改工程,编译测试。(此处略过2^n个字)

4、  修改Android.mk,调试源码下的编译,这里介绍2种方法:

第一种,是把->src->Main的内容复制到源码的vender->tpv->apps->主目录中,这样可以使得Android.mk改动最少,主要可能需要做的修改是:

LOCAL_SRC_FILES :=$(call all-java-files-under, src)

把上面src目录改为java,对应AS的目录。

 

第二种,直接把整个AS工程复制到源码的Packages,把原来的Android.mk放到->src->main目录下并调整编译脚本。然后在根目录添加Android.mk,调用:

include $(callall-makefiles-under,$(LOCAL_PATH))

遍历所有子目录的Android.mk,由于该方法只会遍历一级子目录的内容,在各个中间目录一样添加该调用,使编译器能连接到->src->main的Android.mk。

5、  编译,调试。

6、大功告成。总的来说,AS在功能上会比Eclipse强大,毕竟是Google为Android量身定制的IDE,Eclipse的插件式没得比。更新也比较及时。不足的地方是内存和CPU的使用可能会比较高,特别是在编译的时候。

你可能感兴趣的:(Android源码工程转化为Android Studio项目的方法)