How to convert .jar or .class to .dex file?

后端 未结 5 708
别跟我提以往
别跟我提以往 2020-12-08 07:51

I\'m going to edit Opera Mini v6.5 server because it is blocked in our country.

Now I have unpacked the .apk file extracted classes.Dex then converted it via dex2jar

相关标签:
5条回答
  • 2020-12-08 08:36

    To dexify a jar file, you would use dx.bat inside of your sdk's platform-tools folder. You can also look at the -dex task inside of the build.xml file inside of your tools\ant folder in your SDK.

    0 讨论(0)
  • 2020-12-08 08:37

    To avoid downloading the entire Android Studio: You can go to command-tools download and extract the folder. Then go into it and find your sdkmanager tool. Then on your command-line type sdkmanager "build-tools;28.0.1". You can select which version of build-tools is appropriate depending on the java version you are working with. This will download it into the root directory of your command-line tools. Go into this folder and you should see the dx tool. Then you can type dx --dex --output="nameoffile.dex" nameoffile.jar.

    A little extra note: If you are trying to convert a massive jar you might get a OUT OF MEMORY error. In this case you just pass the JVM the increase heap option dx -JXmx256m ....

    0 讨论(0)
  • 2020-12-08 08:39

    For mac, the dx command tool is stored in different directory as said in the top answer. Here is how you do it in 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"
    

    More detailed explanation:

    • The dx tool is stored in the android SDK, but in a different directory on macs, the path for a mac is /Users/exampleName/Library/Android/sdk/build-tools/25.0.2/
    • The command is the same for windows and mac, the path is just different
    • The command for both platforms is dx --dex--output="c:\temp\app.apk" "c:\temp\in.jar"
    • The tool may take a few minutes to produce the dex file

    If it's still not working for some reason, make sure you are following these requirements:

    I know this is late, but I had to figure this out on my own after hours of trial and error—hope it helps some other mac user

    0 讨论(0)
  • 2020-12-08 08:43

    Here is a solution that was helpful in my case...

    Suppose .jar file sits in "c:\temp\in.jar". In command prompt window cd to ..\android-sdk\platform-tools. To get .apk execute:

    dx --dex --output="c:\temp\app.apk" "c:\temp\in.jar"
    

    To get .dex file execute:

    dx --dex --output="c:\temp\dx.dex" "c:\temp\in.jar"
    
    0 讨论(0)
  • 2020-12-08 08:49

    Sounds like you need the apktool, it allows you to repack and resign a apk, without the need to get in to running dx and aapt yourself.

    Here's an article on how to unpack and repack

    0 讨论(0)
提交回复
热议问题