android - 反编译APK后Java文件中的错误

标签 android compiler-errors apk decompiling

用apktool反编译APK后,我得到了一个应用的资源代码。但是在一些Java文件中,我得到了如下代码:

/* Error */
public void a(int paramAnonymousInt1, int paramAnonymousInt2)
{
  // Byte code:
  //   0: aload_0
  //   1: getfield 14   com/example/service/MyService$2:a;
  //   4: astore_3
  //   8: tableswitch   default:+40 -> 48, 0:+116->124, 1:+40->48, 2:+43->51, 3:+143->151, 4:+77->85, 5:+170->178
............................................
};

我不明白那是什么吗?是作者的原始码吗?还是它是代码的一部分,哪个apktool无法反编译?作者是否使用某些方法来保护此代码?

谁能给我答案?非常感谢!

最佳答案

源代码被混淆,混淆意味着您可以用通俗易懂的术语对代码进行加密。在发布APK时,开发人员可以启用proGuard,这有助于通过混淆来保护源代码。

检查有关Obfuscation and ProGuard的更多信息。

关于android - 反编译APK后Java文件中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29137144/

相关文章:

android - 在不安装 apk 的情况下获取 Android .apk 文件 VersionName 或 VersionCode

java - Android onCreate() 方法中的代码无法正常工作

java - 如何在 Android 上使用 HttpsURLConnection 和 HttpResponseCache 强制缓存?

pdf - ! 在 RStudio 中使用 rmarkdown 将文件编织为 PDF 时尺寸太大

react-native - 由于错误 "error: uncompiled PNG file passed as argument. Must be compiled first into .flat file.."无法生成 apk

java - Android 将 apk 与应用程序集成

android - setBackgroundTintList 不直接应用

android - 使用 AppCompat 主题时 SpannableString 不起作用

Swift重写静态方法编译报错

java - 如何在 Eclipse IDE 中关闭 Java 的编译时错误