我要编辑Opera Mini v6.5服务器,因为它在我们国家被阻止了。
现在我解压缩.apk文件提取的classes.Dex然后通过dex2jar.bat转换它,现在修改了服务器。
我的问题是我想将.jar或.class重新打包到classes.Dex。我该怎么做?
答案 0 :(得分:32)
这是一个在我的案例中有用的解决方案......
假设.jar文件位于“c:\ temp \ in.jar”中。在命令提示符窗口cd到.. \ android-sdk \ platform-tools。 要获得.apk执行:
dx --dex --output="c:\temp\app.apk" "c:\temp\in.jar"
要获取.dex文件执行:
dx --dex --output="c:\temp\dx.dex" "c:\temp\in.jar"
答案 1 :(得分:1)
对于mac,dx命令工具存储在不同的目录中,如上面的答案中所述。以下是你在mac中的表现:
exampleName$ /Users/exampleName/Library/Android/sdk/build-tools/25.0.2/dx --dex --output="/Users/exampleName/Downloads/classes-dex2jar.jar" "/Users/exampleName/Downloads/name.dex"
更详细的说明:
/Users/exampleName/Library/Android/sdk/build-tools/25.0.2/
dx --dex--output="c:\temp\app.apk" "c:\temp\in.jar"
如果由于某种原因仍无法正常工作,请确保您遵循以下要求:
我知道这已经很晚了,但我必须在经过数小时的试用和错误之后自己解决这个问题 - 希望它能帮助其他一些mac用户
答案 2 :(得分:0)
要对jar文件进行dexify,您可以在sdk的platform-tools文件夹中使用dx.bat。您还可以查看SDK中tools \ ant文件夹内build.xml文件中的-dex任务。
答案 3 :(得分:0)
听起来你需要apktool,它允许你重新包装并重新签名一个apk,而不需要自己运行dx和aapt。
Here's an article关于如何解压缩和重新包装
答案 4 :(得分:0)
为避免下载整个Android Studio,请执行以下操作:
您可以转到command-tools download并提取文件夹。然后进入它,找到您的sdkmanager
工具。然后在命令行上输入sdkmanager "build-tools;28.0.1"
。您可以根据所使用的Java版本选择合适的构建工具版本。这会将其下载到命令行工具的根目录中。进入该文件夹,您将看到dx
工具。然后,您可以输入dx --dex --output="nameoffile.dex" nameoffile.jar
。
一些额外的注意事项:如果您尝试转换一个大罐子,可能会遇到OUT OF MEMORY
错误。在这种情况下,只需将增加堆选项dx -JXmx256m ...
传递给JVM。