安装好android studio后,因为在方案公司工作,所以主要还是修改android源码。
首先就是要用android studio 导入android 工程的源码,由于eclipse导入源码一方面速度较慢,虽说将development/ide/eclipse/.classpath拷到idh.code目录有所改善,但差异感觉也不是很大。另一方面,内存占用实在太厉害,经常会导致内存吃紧退出的问题。希望android studio能好一些。
准备工作,修改AS内存大小 sudo vim ./bin/studio.vmoptions
将-Xmx750m --》 -Xmx3096m (加了根8G内存条,终于土豪了,没办法)
第一步,是编译整个工程,生成out目录。
第二步,使用 mmm development/tools/idegen/
编译idegen模块。因为公司的编译脚本是定制化的,公司工程师做了一些适应性的修改。所以必须执行一下android本来的编译命令。
1、设置环境,导入函数等,执行命令: . build/envsetup.sh
2、lunch 执行命令:lunch
设置TARGET_PRODUCT、TARGET_BUILD_VARIANT、TARGET_BUILD_TYPE和TARGET_BUILD_APPS等变量, 在out/tartget目录下,看一下具体的TARGET:out/target/product/ 为 top6735_35g_a_m0 , 选择对应的TARGET即可。
3、编译idegen模块,执行命令:
mmm develop/tools/idegen 生成idegen.jar文件
4、执行脚本: development/tools/idegen/idegen.sh
,看一下这个脚本:
*******************************************************
#!/bin/bash
if [ ! -d development ]; then
echo "Error: Run from the root of the tree."
exit 1
fi
idegenjar=`find out -name idegen.jar -follow | grep -v intermediates`
if [ "" = "$idegenjar" ]; then
echo "Couldn't find idegen.jar. Please run make first."
else
java -cp $idegenjar Main
fi
*******************************************************
实际上就是在找idegen.jar这个文件。
java -cp -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包
然后执行main,在根目录生成对应的android.ipr、android.iml IEDA工程配置文件。
看一下这个android.iml
<sourceFolder url="file://$MODULE_DIR$/./vendor/mediatek/proprietary/packages/services/WifiOffload/lib/src" isTestSource="false"/>
<sourceFolder url="file://$MODULE_DIR$/./vendor/mediatek/proprietary/packages/services/WifiOffload/src" isTestSource="false"/>
<sourceFolder url="file://$MODULE_DIR$/./vendor/top/topwise/app/AgingTestExt/src" isTestSource="true"/>
<sourceFolder url="file://$MODULE_DIR$/./vendor/top/topwise/app/MagicParticle/src" isTestSource="false"/>
<sourceFolder url="file://$MODULE_DIR$/./vendor/top/topwise/app/RedEnvelope/src" isTestSource="false"/>
<sourceFolder url="file://$MODULE_DIR$/./vendor/top/topwise/app/TpwScrollScreenshot/src" isTestSource="false"/>
<excludeFolder url="file://$MODULE_DIR$/./external/emma"/>
<excludeFolder url="file://$MODULE_DIR$/./external/jdiff"/>
<excludeFolder url="file://$MODULE_DIR$/out/eclipse"/>
<excludeFolder url="file://$MODULE_DIR$/.repo"/>
看来sourceFolder 就是要导入的目录,而excludeFolder是需要排除的目录,所以,如果不需要导入的目录可以依照这个来写。
4、导入工程。
单击 open an existing android studio project
选择 ./android.ipr
接下来,就是等等等等,我这边大约花了15分钟左右,导完了一整个完整的项目。确实比eclipse快一点。
好了,第一篇博客。写了一个第一次用的IDE。也不知道是不是有错误。重要的是让自己养成写博客的习惯。
今天有一个相处了数年的兄弟离开了公司,有所感伤,也有所感悟。是时候让自己做一些改变了