有没有办法告诉用什么技术来构建Android应用程序?

时间:2018-01-03 08:55:42

标签: android apk

我有一个我下载并安装的Android应用程序,我还提取了APK,

是否有一些方法可以从apk文件中找出用于编写程序的编程语言?

是否有任何工具可以帮助解决这个问题?

可以确定哪些语言,哪些语言不能?

3 个答案:

答案 0 :(得分:2)

通常大多数Android应用程序都是使用以下texhnologies构建的:---

  1. React Native app
  2. Cordova app
  3. 原生java / kotlin app
  4. 要确定技术,您需要先使用this link

    对应用进行反编译

    然后查找“assets”文件夹。通常,资产文件夹应位于应用程序层次结构的最顶层。

    然后,您可以通过以下预测确定应用技术: -

    1. 如果资产文件夹存在并且有任何扩展名为“.bundle”的文件(主要是文件名为“index.android.bundle”),则使用React Native构建应用程序。

    2. 如果assets文件夹包含文件夹名称“www”,“assets / www”包含以下文件/文件夹结构,那么它是一个cordova应用程序。 Click to view the file/folder structure

    3. 如果更新1或2为真,则可以使用本机代码编写应用程序,即使用java / kotlin

答案 1 :(得分:1)

您可以进行逆向工程:( https://www.apkdecompilers.com/http://www.javadecompilers.com/apk)反编译apk并查看代码及其编程语言。

答案 2 :(得分:0)

不是获取特定技术的准确方法,但是通过adb ,您可以检查应用的活动名称。

通常,当您打开不同的活动或页面时,使用本机技术,ActivityName会有所不同,如下所示(Playstore应用):

enter image description here

而在诸如Ionic之类的混合应用程序中,通常将其捆绑在一起,因此唯一的活动将是MainActivity ...就像用颤动制作的Hamilton应用程序一样:

enter image description here