Меню

Apk manager ошибка 21 при декомпиляции

Я получил эту ошибку во время декомпиляции.apk от apktool. Хотя и не все файлы APK.
Также я установил эти три фреймворка:

framework-res.apk
SystemUI.apk
twframework-res.apk

Я пробовал две разные версии framework-res.но это не помогло.
Что мне делать?

спасибо

I: Baksmaling...
Error occured while disassembling class Ldxoptimizer.con; - skipping class
java.io.IOException: The parameter is incorrect
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:883)
        at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:176)
        at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:49)
        at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:34)
        at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:74)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:89)
        at brut.apktool.Main.cmdDecode(Main.java:146)
        at brut.apktool.Main.main(Main.java:77)
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:UsersShayanKapktoolframework.apk
I: Loaded.
W: Could not decode attr value, using undecoded value instead: ns=android, name=
hardwareAccelerated, value=0xffffffff
W: Could not decode attr value, using undecoded value instead: ns=android, name=
hardwareAccelerated, value=0xffffffff
W: Could not decode attr value, using undecoded value instead: ns=android, name=
hardwareAccelerated, value=0xffffffff
I: Regular manifest package...
I: Decoding file-resources...
W: Could not decode attr value, using undecoded value instead: ns=android, name=
exitFadeDuration, value=0x00000190
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x3f333333
W: Could not decode attr value, using undecoded value instead: ns=android, name=
previewImage, value=0x7f020001
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x00000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x3f000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x3f000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x3e99999a
W: Could not decode attr value, using undecoded value instead: ns=android, name=
previewImage, value=0x7f020002
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x3f000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x3f000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
showAsAction, value=0x00000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
alpha, value=0x00000000
W: Could not decode attr value, using undecoded value instead: ns=android, name=
previewImage, value=0x7f020002
W: Could not decode attr value, using undecoded value instead: ns=android, name=
previewImage, value=0x7f020001
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x01030119
        at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58)
        at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)
        at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen
ceValue.java:62)
        at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe
renceValue.java:46)
        at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca
larValue.java:44)
        at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re
sStyleValue.java:48)
        at brut.androlib.res.data.value.ResBagValue.serializeToResValuesXml(ResB
agValue.java:40)
        at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour
ces.java:440)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243
)
        at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
        at brut.apktool.Main.cmdDecode(Main.java:146)
        at brut.apktool.Main.main(Main.java:77)

1 ответов


во-первых, пожалуйста, убедитесь, что вы обновили ваш apktool до последней версии, вы можете следовать инструкции здесь для ее установки.

затем вам нужно обновить файл фреймворка. Когда я попытался декомпилировать файл apk, он покажет ошибку, как это

исключение в потоке «main» brut.androlib.ошибаться.UndefinedResObject:
спец ресурса: 0x01010462

Это вызвано тем, что ваш файл framework не поддерживает последнюю версию версия android, я решил проблему с помощью:

  1. удалить исходный файл framwork, мой находится в

I: загрузка таблицы ресурсов из файла: / Users/csc/Library/apktool/framework / 1.apk

  1. получить надлежащую структуру apk

    возьмите мой телефон (nexus 5, android 5.1) для exmaple, вы можете найти фреймворк apk в /system/framework/, и он называется framework-res.АПК. Использование adb pull для его копирования ваш компьютер, переименуйте его в 1.apk, скопируйте его в каталог файлов framework.

  2. повторите попытку и проблема решена.

    здесь это подробный учебник origin.


  • Форумы
  • Участники
  • Последние сообщения
  • Зарегистрироваться
  • Вход

1
Посты

1
Пользователи

0
Likes

3,968
Просмотры

Smith

(@max)

Reputable Member

Присоединился: 6 лет назад

Сообщения: 358

Topic starter
07.05.2019 11:58  

В данный момент смотрят эту тему 1 гость.

  • 20
    Форумы

  • 154
    Темы

  • 1,096
    Сообщения

  • 3
    В сети

  • 354
    Участники

Иконки форумов:
Форум не содержит непрочитанных сообщений
Форум содержит непрочитанные сообщения

Иконки тем :
Без ответа
Отвеченный
Активный
Актуально
Закреплено
Не утверждено
Решено
Приватный
Закрыто

Вы нашли классную игру но она только для android 4.0+, а у вас android 2.3? Тогда прошу под кат!

Итак, приступим.

Все что нам понадобится это:

  • Java
  • Apk manager
  • Картинка

    Как понизить API приложения, чтобы оно запустилось на Android 2.3+

  • Прямые руки вставленные в нужное место и правильным концом.

Первым делом распаковываем apk manager и наблюдаем такую картину

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Объясню что это за папки и файлы

  1. Other — файлы нужные программе
  2. place-apk-here-for-modding — сюда кладем apk
  3. place-apk-here-for-signing — сюда кладем apk для подписи
  4. place-apk-here-to-batch-optimize сюда кладем apk для оптимизации
  5. place-ogg-here — сюда кладем apk для сжатия ogg файлов
  6. Project — здесь лежат декомпилированные(разобранные) apk файлы
  7. log — логи программы
  8. Script.bat — сама программа

Кладем наш apk файл( моем случае это игра Wrestle Jump, которую я обещал портировать Денозавру, но из головы вылетело) в папку place-apk-here-for-modding и запускаем программу.

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Тут все понятно, благо программа на Русском. Жмем «9» и «Enter» и ждем пока наше приложение декомпилируется.

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Если все проходит без ошибок, то идем в папку «Projects» и ждем пока я объясню что делать тем, у кого ошибка.

Если у вас возникла ошибка, посмотрите как называется ваш apk файл. Имена вида «Blablabla_1» не приветствуются! Но если файл назван правильно, а ошибка все-равно возникает, проверьте вашу Jav’у.

Все, можно идти дальше. Открываем папку «Projects», затем папку с именем приложения.

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Видим там такой набор файлов

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Нам нужен только 1 — apktool.yml. Открываем его с помощью Notepad++. После открытия видим это:

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Заменяем как на скрине

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Сделали? Открываем Apk manager, набираем «14» и жмем «Enter», ждем.

Вылетает нам такое:

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Не паникуем, это норма. Просто жмем любую кнопку. Далее бежим в

папку place-apk-here-for-modding и забираем новый файл.

Как понизить API приложения, чтобы оно запустилось на Android 2.3+

Теперь можете заливать этот файл на трешбокс и устанавливать себе.

Внимание! Приложение установится, но корректная работа не гарантируется.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Apk add alpine desktop ошибка
  • Api яндекс директ ошибки