как распечатать указанный параметр при использовании дампа aapt - android


1

Я видел здесь, что команда

aapt dump badging foo.apk

распечатывает все детали указанного пакета.

Можно ли распечатать любое свойство, скажем sdkversion? Что-то вроде

aapt dump badging -sdkversion foo.apk

P.S Я использую командную строку в окнах.

ИЗМЕНИТЬ

Я пытаюсь сохранить имя пакета в переменной. На данный момент у меня есть этот код

@echo off
for /f "delims=" %%a in (aapt dump badging foo.apk) do (
     REM each line of the output
)

Я могу получить каждую строку вывода. Теперь мне нужно извлечь имя пакета из строки. Например, первая строка

package: name= com.timeplusq.noob versionCode = 15 versionName = 1.5

который извлекается на первой итерации цикла for. Как извлечь из него имя пакета. Я думал, что струнные манипуляции будут прямолинейными, это не так. Как я могу извлечь имя пакета из строки?

  •  9
  •  1
  • 8 фев 2020 2020-02-08 08:05:46

1 ответ

0

Если вы работаете в системе Unix или имеете cygwin в Windows, вы можете попробовать эту команду:

aapt dump badging foo.apk | grep sdkVersion | sed -E "s/^[^:]+:(.*)$/1/"

regexp будет извлекать значение строки, выбранной командой grep

EDIT:

В системе Windows вы можете использовать следующий script сохраненный как .cmd:

@echo off
set property=sdkVersion:10
set property=%property:sdkVersion=%
set property=%property:~2,-1%

echo.%property%
  • 8 фев 2020 2020-02-08 08:05:48