【问题标题】:Missing "com" folder in .apk.apk 中缺少“com”文件夹
【发布时间】:2013-07-16 21:05:20
【问题描述】:

我是一名学生,目前正在为医院开发一款应用。我有一个旧版本的工作 .apk,但我一直在使用的源代码是较新的。

我的问题是,当我从较新的源构建 apk 并使用 winRar 或 apktool 查看内部时,没有“com”文件夹(并且其中有一个名为“iTextPDF”的文件夹)。旧的 apk 有这个文件夹。

在较新的代码/apk 中发生的情况是,当在应用中生成图表然后输出为 pdf 时,应用会崩溃。错误是说文件不存在。

同样,它适用于旧的 apk,但我没有源代码。我认为代码没有太大变化。有什么帮助吗?

【问题讨论】:

    标签: android android-emulator apk


    【解决方案1】:

    1.尝试获取旧源代码

    最好的办法是访问旧源,但如果可以的话,我猜你会这样做。

    2。尝试找出问题所在并解决它

    我脑海中闪现的第一件事是应用程序具有不同的包 ID,您缺少“com.”。不过,这只是一个疯狂的猜测。鉴于每个应用程序都必须有一个唯一的包名称,如果您不是从原始来源工作,那对我来说有点意义。

    3.您可以尝试对旧代码进行逆向工程......

    看看APKToolDex2Jar & JD-GUIAndroGuard

    APKTool 可让您将 APK 反汇编为“smali”代码。您可以查看并修改它,然后使用 APKTool 将其组装回 APK。

    Dex2Jar 会将您的 APK 的 classes.dex 文件转换为 Jar,而 JD-GUI 会将 Jar 反编译为类似 Java 的代码。类似 Java 的代码可能不会编译回 APK

    Androguard 是一个 RE 框架,非常强大,但使用起来有些困难。

    可以在这里找到一个很好的开始重新编译 APK 的教程:So you want to reverse-engineer an Android app (apk)

    【讨论】:

    • 谢谢。我会试一试的。
    【解决方案2】:

    我解决了这个问题……有点。我所做的是使用 Apk Manager 来反编译 apk。然后我添加了丢失的文件夹并重新编译。我签了,我正在路上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      相关资源
      最近更新 更多