如何在 Android Studio 中查看已编译的 Jar 文件以进行顶级模拟?

How to View Compiled Jar File in Android Studio for Top-Level Mocking?

如何访问使用 Android Studio 构建的 Android 应用程序的已编译 Jar 文件?

用例 - MockK 用于 Kotlin 中的 JUnit 5 本地单元测试,查看编译为 Java.

的 Kotlin 输出

Android Studio 版本 - 3.5

@oleksiyp,outlines here, how top-level functions are compiled into Java in this Medium series and in this

检查 Kotlin 文件是如何编译成 Java 将允许模拟更高级的顶级函数,其中输出不像下面那样简单。

For instance, the following example:

// Code.kt source file 
package pkg
fun lowercase(str: String): String {...}

translates to:

package pkg;
class CodeKt {
    public static String lowercase(String str) {...}
} 

oleksiyp notes in this GitHub issue Jar 可以在 Android Studio 的构建目录下找到。

  1. 在 Android Studio 导航 window 中将视图从 Android 切换到项目模式。
  2. 转到目录 app > build > outputs > apk > debug > app-debug.apk
  3. app-debug.apk中如果有多个classes.dex文件如 classes.dex2classes.dex3,找到其中包含您应用的 classes 的那个(即 - classes.dex2 > app > yourAppName.
  4. 在每个 class 名称下,它显示了在 Java 中从 Kotlin 创建的方法列表。 ‍♂

此处使用 Coinverse Open App 作为示例是为 ContentViewModel.

生成的方法