module ApkToJava::Operations
Constants
- TEMP_DIR
Public Instance Methods
clean_up()
click to toggle source
# File lib/apk_to_java.rb, line 60 def clean_up print_info 'Cleaning the mess..' `rm -rf #{TEMP_DIR}` print_success 'done!' end
convert_to_dex(apk)
click to toggle source
# File lib/apk_to_java.rb, line 70 def convert_to_dex(apk) print_info 'Converting to dex..' copy_apk apk apk_name = apk.split('/').last.split('.').first unzip apk_name print_success 'Done!' path_to_dex end
copy_apk(apk)
click to toggle source
# File lib/apk_to_java.rb, line 38 def copy_apk(apk) `mkdir #{TEMP_DIR}` `cp #{apk} #{TEMP_DIR}/` end
create_jar(dex_file)
click to toggle source
# File lib/apk_to_java.rb, line 52 def create_jar(dex_file) `#{supported_os.dex2jar} #{dex_file} --force` end
dex_to_jar(apk)
click to toggle source
# File lib/apk_to_java.rb, line 79 def dex_to_jar(apk) dex_file = convert_to_dex apk print_info 'Converting dex to jar..' create_jar dex_file print_success 'Done!' path_to_jar end
open_code_in_gui(jar_file)
click to toggle source
# File lib/apk_to_java.rb, line 66 def open_code_in_gui(jar_file) `#{supported_os.jadx} #{jar_file} > /dev/null 2>&1 & disown` end
path_to_dex()
click to toggle source
# File lib/apk_to_java.rb, line 48 def path_to_dex `pwd`.chomp + "/#{TEMP_DIR}/classes.dex" end
path_to_jar()
click to toggle source
# File lib/apk_to_java.rb, line 56 def path_to_jar `pwd`.chomp + '/classes-dex2jar.jar' end
unzip(apk_name)
click to toggle source
# File lib/apk_to_java.rb, line 43 def unzip(apk_name) `mv #{TEMP_DIR}/#{apk_name}.apk #{TEMP_DIR}/#{apk_name}.zip` `unzip #{TEMP_DIR}/#{apk_name}.zip -d #{TEMP_DIR}/` end
view_as_java_code(apk)
click to toggle source
# File lib/apk_to_java.rb, line 87 def view_as_java_code(apk) jar_file = dex_to_jar apk clean_up print_info 'Opening in gui interface..' print_success 'Please be patient, apkToJava might take some time to load your project in gui interface' open_code_in_gui jar_file end