Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110

ApkTool

09.02.2014, 15:00. Показов 4670. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Раньше был Apktool 1.5.2 и был файл apktool-d.cmd и apktool-b.cmd, на apktool-d.cmd перетаскиваются файлы с расширением .apk и декомпилируются, а на apktool-b.cmd перетаскиваются декомпилированные папки и компилируются. я их адаптировал для себя в батник с выбором apktool-d.cmd - декомпилировать и apktool-b.cmd - скомпилировать, и там была команда
декомпиляция - java -Xmx512m -jar apktool.jar d "work\%capp%" "work\d\%capp%"
компиляция - java -Xmx512m -jar apktool.jar b work\d\%capp%
%capp% - это выбранное ранее значение
А щас новый ApkTool
с компиляцией я дела почти решил, а вот декомпилировать не получается
Там в apktool-d.cmd такой код
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@ECHO OFF
if "%1"=="" goto usage
cd /d "%~dp0"
echo.
echo  Processing...
echo.
 
:getfile
if "%1"=="" goto alldone
java -jar apktool.jar d -o "%~dpn1" "%1" 
if errorlevel 1 goto error
echo    %~nx1 - complete
shift
goto getfile
А вот он запихан в мой батник
Windows Batch file
1
2
3
echo I: Декомпиляция %capp% ...
java -jar apktool.jar d -f -o "work\%capp%" "work\d\%capp%" 
if errorlevel 1 goto error
И когда я запихиваю в свой батник эти строки и при выборе декомпиляции, а затем приложения %capp% то он пишет
"Input file (work\d\UxpNxtLockScreen.apk) was not found or was not readable"
Как это исправить?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.02.2014, 15:00
Ответы с готовыми решениями:

Ошибки в Apktool
при компиляции (сборке) проекта пишет что-то про директорию brut.directory.PathNotExist: apktool.yml

Apktool, подпись файла
как подписать файл с помощью apktool?

Декомпиляция/Компиляция Apktool
Ребят, декомпилировал приложение apktool: добавил один xml и один png файл, прописал их в манифесте. После компиляции приложение не...

2
⁞ ★☭ Mad Max ☭★ ⁞
279 / 84 / 12
Регистрация: 04.09.2013
Сообщений: 187
09.02.2014, 19:58
Лучший ответ Сообщение было отмечено как решение

Решение

Jeka_Osokin,
у вас пути до apk и папки для распакованного apk неверно указаны.
Уточните - вы задаете пути вручную в коде или используете перетаскивание на cmd?
Пример, если задаете вручную:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
:: Папка, где лежат apk
set "apkPath=d:\work\d"
:: Папка, куда будут помещены распакованные apk
set "outDir=%apkPath%\decompiled"
:: В переменную apkFile пишем имя декомпилируемого apk
set "apkFile=%apkPath%\UxpNxtLockScreen.apk"
 
:: В цикле в переменную apkName записываем имя.расширение вашего апк
:: в переменную capp - имя без расширения для выходной папки
for %%A in ("%apkFile%") do (
set apkName=%%~nxA
set capp=%%~nA
)
 
echo I: Декомпиляция %apkName% ...
echo java -jar apktool.jar d -f "%apkFile%" "%outDir%\%capp%"
Готовый пример из моего проекта.
Используется вызов функции с параметрами:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
@echo OFF
chcp 866 >nul
 
chdir /d "%~dp0"
:: Определим путь, по которому находится apktool.jar
:: У меня создана папка Tools рядом с батником, в нее скопирован apktool.jar
:: Сделано для отделения "мух от котлет" - инструменты отдельно, обрабатываемые файлы - отдельно
set "toolsDir=d:\work\tools"
 
:: В переменную apktool запишем полный путь и имя файла apktool.jar
set "apktool=%toolsDir%\apktool.jar"
 
:: Папка, где лежат apk
set "apkPath=d:\work"
 
:: Корневая папка, куда будут помещены папки распакованных apk
:: В данном примере это будет d:\work\decompiled
set "outDir=%apkPath%\decompiled"
 
:: Пример распаковки одиночного апк
set "apkFile=%apkPath%\UxpNxtLockScreen.apk"
    call :f_decompileAPK "%apkFile%" "%outDir%"
 
::Можно распаковать все apk, находящиеся по пути %apkPath%
for %%F in ("%apkPath%\*.apk") do (
    call :f_decompileAPK "%%~F" "%outDir%"
)
 
:: далее ваш код по обработке, у меня заглушка в виде pause exit
pause
exit
 
:: Функция, принимающая в качестве первого параметра полный путь к апк
:: в качестве второго параметра - путь к корневой папке, куда будут помещены папки распакованных apk
:: Функция возвращает код ошибки - 0, если все нормально, 1 - если была ошибка.
:: Вывод apktool "занулен", то есть его не видно.
 
:f_decompileAPK [Путь к декомпилируемому apk] [Путь к выходной папке]
set err=0
for %%F in ("%~1") do (
    set "apkFile=%%~F"
    set "apkDir=%%~nF"
)
    <nul set /p strTemp=Распаковка %apkDir%.apk ...
        java -jar "%apktool%" d -f "%apkFile%" "%~2\%apkDir%">nul 2>&1
    if "%errorlevel%" EQU "0" (
        <nul set /p strTemp= готово
    ) else (
        <nul set /p strTemp= ошибка при распаковке
        set err=1
    )
    echo+
exit /b %err%
3
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 1
03.12.2014, 06:08
Дайте пожалуйста бантики ( apktool-b.cmd и apktool-d.cmd ) под APKTool 2.0.0
Что бы при перетаскивании апк на бантик распаковывало и запаковывало, как было на версии 1.4 и т.д.
А то старые бантики не катят.

Не знаю, вроде с распаковкой разобрался:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@ECHO OFF
if "%1"=="" goto usage
cd /d "%~dp0"
echo.
echo Processing...
echo.
 
:getfile
if "%1"=="" goto alldone
java -jar apktool.jar d -o "%~dpn1" "%1" 
if errorlevel 1 goto error
echo %~nx1 - complete
shift
goto getfile
 
:error
echo.
echo !!!Aborted!!!
shift
goto getfile
 
:alldone
echo.
echo All done!
 
:end
echo.
pause
А вот запаковать не получается...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2014, 06:08
Помогаю со студенческими работами здесь

Антивирус AVG ругается на приложение перепакованное apktool
Здравствуйте. Сегодня заметил, что если с помощью apktool распаковать и запаковать apk (без каких-либо изменений), антивирус AVG странным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru