实际上我试图提取一个名为cloudfilz.apk的.apk文件的代码,并想在其源代码中操作,所以我按照下面给出的步骤: -
创建一个新的文件夹并放入.apk文件(你要解码)现在重命名这个扩展名为.zip的.apk文件(例如:从filename.apk重命名为filename.apk.zip)并保存它..现在你得到了类.dex文件等...在这个阶段你可以看到drawable而不是xml和java文件......所以继续......
第2步:
现在解压缩此zip文件在同一个文件夹中(在这个例子或case NEW FOLDER).现在从这个链接http://code.google.com/p/dex2jar/下载dex2jar 并将其解压缩到同一个文件夹(在本例中为NEW FOLDER).....现在打开命令提示符并到达该文件夹(在这个案例NEW FOLDER)....在达到写"dex2jar classes.dex"并按下回车.....现在你得到同一文件夹中的classes.dex.dex2jar文件......
=>问题: - 我成功实现了第1步,但是在第2步,当我执行dex2jar classes.dex时java.lang.UnsupportedClassVersionError,我在命令提示符上出现错误,我知道这是由于我安装的jdk版本和classes.dex jdk版本号之间的不兼容所以卡在这里,dnt出路......
我在Firebase崩溃报告中收到以下崩溃转储:
Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase(java.util.Locale)' on a null object reference
bnp.run (bnp.java:56)
java.lang.Thread.run (Thread.java:818)
Run Code Online (Sandbox Code Playgroud)
问题是我不在项目的任何地方使用String.toLowerCase()方法.在Android Studio中,我为方法执行了Edit-> Find In Path并且没有得到任何结果,但是,如果我在库中搜索它会出现100次以上.但我无法在任何地方找到"bnp.java".
谢谢你的帮助!
编辑:以前的崩溃报告没有受到影响,并且可能是由于google-play-services或Firebase.我只在我的应用程序中使用gms:play-services-places和gms:play-services-auth,以及许多Firebase依赖项.
Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase(java.util.Locale)' on a null object reference
bnp.run (:com.google.android.gms.DynamiteModulesC:56)
java.lang.Thread.run (Thread.java:818)
Run Code Online (Sandbox Code Playgroud)