Hardcoded dex2jar version
Mr-TWX opened this issue · 0 comments
Mr-TWX commented
Hi @ajitsing , thanks for this Gem
Issue
I've tried to run it on MacOs and found and received the following error
user@MacBook-Pro-di-User ~ % apkToJava /Users/myuser/Desktop/base.apk
Initializing setup!!
checking for curl... yes
Installing dex2jar..
Warning: dex2jar 2.1 is already installed and up-to-date.
To reinstall 2.1, run:
brew reinstall dex2jar
Done!
Setup done :)
Converting to dex..
Done!
Converting dex to jar..
/Users/myuser/.gem/ruby/2.6.0/gems/apkToJava-1.3.1/lib/apk_to_java.rb:53:in ``': No such file or directory - /usr/local/Cellar/dex2jar/2.0/bin/d2j-dex2jar (Errno::ENOENT)
from /Users/myuser/.gem/ruby/2.6.0/gems/apkToJava-1.3.1/lib/apk_to_java.rb:53:in `create_jar'
from /Users/myuser/.gem/ruby/2.6.0/gems/apkToJava-1.3.1/lib/apk_to_java.rb:82:in `dex_to_jar'
from /Users/myuser/.gem/ruby/2.6.0/gems/apkToJava-1.3.1/lib/apk_to_java.rb:88:in `view_as_java_code'
from /Users/myuser/.gem/ruby/2.6.0/gems/apkToJava-1.3.1/bin/apkToJava:61:in `execute'
from /Users/myuser/.gem/ruby/2.6.0/gems/apkToJava-1.3.1/bin/apkToJava:65:in `<top (required)>'
from /Users/myuser/gems/bin/apkToJava:23:in `load'
from /Users/myuser/gems/bin/apkToJava:23:in `<main>'
Cause
Looking at the source code for mac_setup.rb, the DEX_TO_JAR
constant is hardcoded to the 2.0
version.
Since the latest version available is 2.1
, the error above is thrown.
Possible solutions
At the moment, I've managed to fix the issue by changing the mac_setup.rb
file by updating the hardcoded reference from 2.0
to 2.1
.
It would be nicer to have the apkToJava
to automatically use the latest version of dex2jar