XposedBridge的debug.log?

时间:2015-07-18 02:38:13

标签: android

我目前正在使用XposedBridge处理应用程序,我有很多问题。我将从简单的开始。

  1. 如何获取debug.log文件?

    我找不到debug.log文件。我尝试过手机外壳以及两种adb方式: A. adb shell data / data / de.robv.android.xposed.installer / log / debug.log B. adb shell“su -c'cat数据/ data / de.robv.android.xposed.installer / log / debug.log'” C. adb shell cat data / data / de.robv.android.xposed.installer / log / debug.log

    adb说:“没有这样的文件或目录”

    手机外壳可以cd到/ data和/ data / data但不能用。不能没有数据的。拒绝访问。当我尝试adb ls时adb也是如此。

    手机Moto E XT1023扎根了。尽管如此,shell无法读取某些目录。我在这里发布了一个问题,但似乎没有人愿意回答。

    我不得不去ES文件资源管理器。管理到/ data。 ES说文件夹为空。管理到Emulator / 0 / de.robv.android.xposed.installer或类似的东西。有一个名为files的子目录。里面是安装程序。没有debug.log。

    使用ES搜索debug.log的所有目录。什么都没找到。

  2. 一旦我在项目的单独文件中创建了XposedBridge类,一旦我做了XposedBridge应该做的任何事情(覆盖方法,在方法之前和之后插入代码,等等)覆盖的方法或方法使用代码在之前和之后运行,或者覆盖的数据将继续被覆盖,直到应用程序退出。这是真的?

  3. 是否有任何简单但功能强大且全面的手册或参考,或者最好的教程?

  4. 我可以为debug.log.file指定另一个目录吗?

  5. 如果我能够手动创建目录\ data \ data,这会使Xposed保存debug.log吗?

  6. 我很高兴我设法部分回答了第一个问题,这个问题不仅与XposedBridge有关,而且对于有根电话来说是一个全球性的根本问题,所以我现在甚至都想不出任何其他问题。我没有debug.log,但我有error.log,我知道如何阅读这些。以下是有兴趣的人:

    为了能够reed XposedBridge日志文件:

    1. 转到专业的Moto E adb(也可以使用标准的)。

    2. 输入:

      ************ 
      * adb root * 
      ************ 
      

      确保root访问权限。

    3. 美元符号$必须在命令前显示为符号。 $表示已输入adb shell环境。

    4. 在$之后,输入:

      ****** 
      * su * 
      ****** 
      
    5. Sharp Sign#必须显示为命令前的符号。 #表示已输入root。输入root后,即可完全访问手机。因此:

      ************************************************** 
      * cd /data/data/de.robv.android.xposed.installer * 
      ************************************************** 
      
      可以执行

      并输入目录/data/data/de.robv.android.xposed.installer。

    6. 输入:

      ****** 
      * ls * 
      ****** 
      

      查看此目录的内容。

    7. 如果存在error.log或debug.log文件,请键入:

      ***************** 
      * cat error.log * 
      ***************** 
      

      和或

      ***************** 
      * cat debug.log * 
      ***************** 
      

      查看这些文件。

    8. 输入:

      ******** 
      * exit * 
      ******** 
      

      返回更安全的$提示符。

    9. 输入:

      ******** 
      * exit * 
      ******** 
      

      退出adb。

      注意:在开发项目时,adb root可能无法运行。其余的工作。

    10. 我仍然没有任何debug.log。可能是XposedBridge线不运行。将使用手册中的一些简单方法进行检查。

      这是我发现的。我在计算机上创建了一个名为debug.log的空文本文件,并将文件传输到设备的主根,/ sdcard目录,然后将文件复制到/data/data/de.robv.android.xposed.installer / log只是为了看看会发生什么。什么都没发生。该文件为空。

      以下是我发现的可能有用的内容:

      阅读日志文件的命令:

      adb shell 
      su 
      cd /data/data/de.robv.android.xposed.installer/log 
      cat error.log 
      

      在su shell之后使用cp SOURCE DESTINATION,#prompt,从一个文件中复制文件

      设备上另一个目录。

      重要注意事项:

      所有Xposed类必须放在xposed_init中,否则Android Studio 1.2会将它们报告为从未使用过。

      在built.gradle中,有:

      /* SSB : Added manually so the gradle builds with the 
      XposedBridgeApi-54.jar which is in the app -> libs 
      but not to include the jar in the apk. */
      dependencies {
      provided fileTree(dir: 'libs', include: ['*.jar'])
      }
      

      这些都是手动的。

      更新:我已经能够清理代码,并设法找到我没有debug.log的原因。这是因为我没有加载两个XposedBridge类(一个是zygote的初始化,另一个是带有钩子和替换的工作文件)。 error.log显示:没有找到类“package(strts without a com。)NameOfThePackageWithoutComDot.NameOfTheExposedClass in NameOfThePackageWithoutComDot-2.apk”

      这是两类的说法。

1 个答案:

答案 0 :(得分:0)

问题部分解决:

我删除了字符串"包"从xposed_init,这解决了问题。因此,而不是:

package TheNameOfThePackage.TheNameOfTheClass 

xposed_init包含:

TheNameOfThePackage.TheNameOfTheClass 

没有"包"在Android Studio通常提出和要求的名称前面。

现在,自定义类似乎加载OK和XMain,其中zygote是init生成一个小说。

无论如何,带有测试代码的自定义类都可以正常工作。生成debug.log文件。但是,应用程序似乎没有写入文件,debug.log只说:

d.xposed.installer/log/debug.log 

内部。