首页 > 解决方案 > 将 Kotlin 字节码反编译为 java 以使变量名相同?

问题描述

我知道在 Android Studio 中我们可以将 Kotlin 字节码从

Tools->Kotlin->Show Kotlin Bytecode

然后Decompile在打开的窗口中。但结果有点混乱。例如,在此代码中,变量名称更改为var1,var2等等,并且在返回值类型中缺少通用类型。

科特林代码:

   @GET("webservicesample")
        fun advancedSearchCall(@Query("parms[catid]") catID: String,
                               @Query("parms[min]") minPrice: String,
                               @Query("parms[max]") maxPrice: String,
                               @Query("parms[brandid]") brandId: String,
                               @Query("parms[minpre]") minPrePay: String,
                               @Query("parms[maxpre]") maxPrePay: String,
                               @Query("parms[id]") lastResult: String,
                               @Query("parms[number]") number: String)
                : Call<AdvancedSearchResponse>

从字节码反编译成Java:

@GET("webserviceexample")
       @NotNull  Call advancedSearchCall(
                  @Query("parms[catid]") @NotNull String var1, 
                  @Query("parms[min]") @NotNull String var2, 
                  @Query("parms[max]") @NotNull String var3, 
                  @Query("parms[brandid]") @NotNull String var4,
                  @Query("parms[minpre]") @NotNull String var5,
                  @Query("parms[maxpre]") @NotNull String var6,
                  @Query("parms[id]") @NotNull String var7,
                  @Query("parms[number]") @NotNull String var8);

我想知道从 Kotlin 反编译时是否有办法防止这种情况并获得干净的 Java 代码?

标签: javaandroidkotlin

解决方案


推荐阅读