如何在 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 的构建目录下找到。
- 在 Android Studio 导航 window 中将视图从 Android 切换到项目模式。
- 转到目录 app > build > outputs > apk > debug > app-debug.apk
- 在app-debug.apk中如果有多个classes.dex文件如 classes.dex2 和 classes.dex3,找到其中包含您应用的 classes 的那个(即 - classes.dex2 > app > yourAppName.
- 在每个 class 名称下,它显示了在 Java 中从 Kotlin 创建的方法列表。 ♂
此处使用 Coinverse Open App 作为示例是为 ContentViewModel.
生成的方法
如何访问使用 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 的构建目录下找到。
- 在 Android Studio 导航 window 中将视图从 Android 切换到项目模式。
- 转到目录 app > build > outputs > apk > debug > app-debug.apk
- 在app-debug.apk中如果有多个classes.dex文件如 classes.dex2 和 classes.dex3,找到其中包含您应用的 classes 的那个(即 - classes.dex2 > app > yourAppName.
- 在每个 class 名称下,它显示了在 Java 中从 Kotlin 创建的方法列表。 ♂
此处使用 Coinverse Open App 作为示例是为 ContentViewModel.
生成的方法