Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

admin 2024年3月4日12:05:39评论32 views字数 2603阅读8分40秒阅读模式

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

近期,我刚发现Google专门为平台开发提供了一个新的IDE,据说是可以同时编写C++、Kotlin和Java语言,这看起来似乎非常的nice鸭,毕竟之前在AS当中如果要修改AOSP的源码,那个体验,真的是相当的酸爽,这次居然又给单独出了一个新的IDE,难道今年是IDE新出元年吗,近期我刚发现,JetBrains也给新的语言rust单独出了一个IDE名字是RustRover,之前都是以插件形式存在的,很迷,不过这个就不在本篇文章的讨论范畴了,咱先体验下ASfP。

ASfP安装

对于安装,这个官方写的也很详细,目前只能在Linux上使用,并且仅可以在x86_64的Linux上使用,arm的Linux应该是装不上的,当然官方页面也很人性化,很友好的会告诉你。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

为了体验呢,那干脆就搞个虚拟机就好了,以下操作都是在虚拟机内进行。

这里,我们直接安装

sudo dpkg -i /path/to/asfp-2023.1.1.19-linux.deb
Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

这样,就是安装完成了的,然后我们打开下看看。

/opt/android-studio-for-platform/bin/studio.sh
Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

这,不还是原来的配方,原来的味道吗

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

看来,这个启动界面应该是没改动的,那就直接下一步吧,经过漫长的下载,其实很快,他就下载完成了。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

这还是熟悉的界面,还是熟悉的样子

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

安装完成,他的不同点终于来了,之前我们可以新建项目,这里有了一个新的选项,import asfp project,后面我们就按照他来操作,操作之前,大家也可以根据自己的喜好调整下IDE的个性化设置,这里我加上了vim插件,并且将皮肤给换成了白的,因为实在不太习惯黑色,当然,这些仅代表我个人的偏好蛤。到这里,其实安装部分就完成了。

体验ASfP

这里先选择一个我之前已经下好的AOSP,具体版本是7.1.0_r1,单纯是因为我不想再重新下一份。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

这里我选择只导入了art这个包,当然也可以选其他的,根据自己的喜好,点击完成,等待即可。

结果啊,理想很美好,现实很骨感啊,不出意外的是报错了,生活当中总是充满着小惊喜。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

这波保存很魔幻啊,为什么呢,经过一顿搜索,我决定升级下源码版本试试,因为经过一顿搜索引擎的搜索,发现低版本的 build/envsetup.sh里面是没有这个函数的高版本有,那么用Android12的源码试试吧,再次找找之前下载过的Android12的源码。

再次尝试

我们切换到Android12之后,不出意外的是,再次出意外了,依然是报错的,这波真的是困难重重,那么接下来就看下报错的原因吧。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

可以发现具体报错在这里,这个报错,看起来就比较好解决了,只需要删掉build/blueprint/Blueprints下面第71行的testSrcs下面的内容就好了,注意只需删除里面的内容,这个参考参考资料2当中的内容,不过行数可能不太一样。

修改完成之后,不出意外,这次真的没有意外了,成功的编译完成,非常的顺利,这里需要等待一大段时间,等待的时候,可以考虑喝一杯茶或者咖啡,亦或是刷个剧,我这大约经历了30分钟,就完成了。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

到这里,整个项目的目录也发生了改变,我们可以看到具体目录如下图所示

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

然后,我们试一下代码跳转和代码提示

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

在代码补全方面,也做得非常的优秀

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

感觉,这个体验确实不错,到这里,其实这个IDE不支持其他平台的原因也有了,因为这个真的会实际编译代码,因此需要编译代码的运行环境,但是Google官方已经不支持Mac编译了,所以,个人感觉吧,其他平台能用这个IDE的可能性不大,所以还是拥抱Linux吧,毕竟也没得选,不过虚拟机打开这个还是非常流畅的。

进一步探索

那么问题来了,我们实际上之前只加入了art,那么如果我们突然发现加少了,这种情况应该怎么办呢,总不能采用再打开一次,然后再选其他的吧,这个做法显然就显得比较low了,对于一个优雅的开发者,这个怎么能忍呢,但是瞅了一眼官方的介绍,貌似,这没有提及这一点啊,不过好在,官方还给提供了一个教学视频,真的良心,那么我们就从教学视频当中看看,能不能有什么线索吧,最终我们发现了有个asfp-config.json的文件,这里我么可以直接添加需要添加的模块,比如我们这次在加入libcore

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

添加完成之后,检测到这个文件进行了修改,就会提示你是否需要同步项目,那么我们点击同步,之后就会自动工作了。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

在执行之后,是需要再次编译的,因此还需要等待一段时间,这里可以简单喝一口水,这个速度还是比较快的。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

编译完成之后,我们就得到了更新后的目录。

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

试了一下,这个也是可以正常使用的

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

到这里,基本的问题其实就解决完成了,整体过程还算是比较的顺利。

总结

这个新出的IDE,依然沿用了AS的风格,基本的配置和AS并无差异,只不过他给安排了新的导入AOSP的方案,导入之后,无论是代码跳转还是代码补全,做的都非常不错,还可以只添加部分项目进行编译,不过如果一次性加入所有项目,他真的会触发完整的编译过程,所以速度吧,就取决于电脑了,我这电脑配置比较低,所以就不想尝试全量编译了,总体来说,这个新出的IDE用起来体验不错。

参考资料

  • https://developer.android.google.cn/studio/platform?hl=en[1]
  • https://bbs.kanxue.com/thread-264229.htm[2]

Reference

[1]

https://developer.android.google.cn/studio/platform?hl=en: https://developer.android.google.cn/studio/platform?hl=en

[2]

https://bbs.kanxue.com/thread-264229.htm: https://bbs.kanxue.com/thread-264229.htm

🌟欢迎学习Android逆向技术以及准备Android安全方向面试的同学,加入我的知识星球、干货多多,更多月度知识等你参与~

Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

原文始发于微信公众号(安全后厨):Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月4日12:05:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Android逆向技术55——体验Android Studio for Platform(ASfP)(By LittleQ)http://cn-sec.com/archives/2093854.html

发表评论

匿名网友 填写信息