Ошибка упаковки apk editor studio

I’m trying to use this, getting the same last line too. I’m unsure whether that is a real error in running some java thing which isn’t installed properly alongside the app, or whether the line above (W: something something error) is an actual error and not a warning as W implies.

I: Using Apktool 2.6.0
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes8.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes7.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes6.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes5.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes4.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes3.dex file...
I: Copying /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba} classes2.dex file...
I: Building resources...
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:628: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:629: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:630: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:631: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:632: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:633: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:634: error: unexpected element <uses-native-library> found in <manifest><application>.
W: /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml:635: error: unexpected element <uses-native-library> found in <manifest><application>.
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/tmp/brut_util_Jar_116959985949077475974213791539222566406.tmp, link, -o, /tmp/APKTOOL11926046179450493718.tmp, --package-id, 127, --min-sdk-version, 21, --target-sdk-version, 31, --version-code, 84635, --version-name, 11.92.0.33, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, -e, /tmp/APKTOOL9995174260898869041.tmp, -0, arsc, -I, /home/mag/.config/apk-editor-studio/frameworks/1.apk, --manifest, /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/AndroidManifest.xml, /tmp/apk-editor-studio/apk/{d36d7c45-4972-4177-b5a4-d81bd8dc62ba}/build/resources.zip]

^^^ me trying to simply repackage snapchat after opening the APK and not doing anything.

This program appears to have an unreliable means of determining the correct version of Java to run. Here is the situation on my PC:

  1. I launch APK Editor Studio
  2. I click Open APK and pick one.
  3. Log messages appear:

Unpacking APK…
Error unpacking APK.

3a. The details for «Error unpacking APK.» are as follows:

Error: Registry key 'SoftwareJavaSoftJava Runtime Environment'CurrentVersion'
has value ‘1.8’, but ‘1.7’ is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

How strange. I inspect the program events with Process Monitor. Here’s what I’ve surmised.

  1. After clicking Open APK, APK Editor Studio checks the registry path HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsjava.exe.
    1a. Is it trying to locate the most current version of java.exe? This bizarre-looking key is very unusual and does not exist on any of my PCs. Why not use the Path and/or JAVA_HOME vars?
    1b. Presumably, APK Editor Studio defaults to some fallback, since the registry key does not exist.
  2. APK Editor Studio launches %windir%SysWOW64java.exe.
    2a. Is this a hardcoded default path? No matter where this magic path comes from, it is not a good choice. That particular java.exe doesn’t seem to be dependable. It is merely a copy from the actual Java install location and only exists on one of my PCs. Furthermore, the 1.8 JDK and JRE installers do not overwrite it with the latest java.exe, so it has remained at 1.7 for a long time (on my PC).
  3. The launched java.exe (again, version 1.7) checks the registry key HKLMSOFTWAREWow6432NodeJavaSoftJava Runtime EnvironmentCurrentVersion. It reads 1.8, determines it is outdated, and terminates.
  4. This is likely the point where APK Editor Studio reports the errors.
    4a. The registry path provided by the APK Editor Studio’s error message ('SoftwareJavaSoftJava Runtime Environment'CurrentVersion') is highly questionable. There is no hive specified. On my PC, the closest match is HKLMSoftwareJavaSoftJava Runtime EnvironmentCurrentVersion, and that key was never even read, as detected by Process Monitor.

This program appears to have an unreliable means of determining the correct version of Java to run. Here is the situation on my PC:

  1. I launch APK Editor Studio
  2. I click Open APK and pick one.
  3. Log messages appear:

Unpacking APK…
Error unpacking APK.

3a. The details for «Error unpacking APK.» are as follows:

Error: Registry key 'SoftwareJavaSoftJava Runtime Environment'CurrentVersion'
has value ‘1.8’, but ‘1.7’ is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

How strange. I inspect the program events with Process Monitor. Here’s what I’ve surmised.

  1. After clicking Open APK, APK Editor Studio checks the registry path HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsjava.exe.
    1a. Is it trying to locate the most current version of java.exe? This bizarre-looking key is very unusual and does not exist on any of my PCs. Why not use the Path and/or JAVA_HOME vars?
    1b. Presumably, APK Editor Studio defaults to some fallback, since the registry key does not exist.
  2. APK Editor Studio launches %windir%SysWOW64java.exe.
    2a. Is this a hardcoded default path? No matter where this magic path comes from, it is not a good choice. That particular java.exe doesn’t seem to be dependable. It is merely a copy from the actual Java install location and only exists on one of my PCs. Furthermore, the 1.8 JDK and JRE installers do not overwrite it with the latest java.exe, so it has remained at 1.7 for a long time (on my PC).
  3. The launched java.exe (again, version 1.7) checks the registry key HKLMSOFTWAREWow6432NodeJavaSoftJava Runtime EnvironmentCurrentVersion. It reads 1.8, determines it is outdated, and terminates.
  4. This is likely the point where APK Editor Studio reports the errors.
    4a. The registry path provided by the APK Editor Studio’s error message ('SoftwareJavaSoftJava Runtime Environment'CurrentVersion') is highly questionable. There is no hive specified. On my PC, the closest match is HKLMSoftwareJavaSoftJava Runtime EnvironmentCurrentVersion, and that key was never even read, as detected by Process Monitor.

Hi,
can’t really figure out how to continue.
Downloaded the APK, edited only the MIN SDK Version number and tried to save.

This is the error log:

I: Using Apktool 2.4.1
I: Copying C:UsersStefanAppDataLocalTempapk-editor-studioapk{b2863aec-bedc-41de-84bd-2cea16aa32a1} classes.dex file…
I: Building resources…W: C:UsersStefanAppDataLocalTempapk-editor-studioapk{b2863aec-bedc-41de-84bd-2cea16aa32a1}resvaluesstyles.xml:13: error: Resource entry AppTheme already has bag item android:statusBarColor.
W: C:UsersStefanAppDataLocalTempapk-editor-studioapk{b2863aec-bedc-41de-84bd-2cea16aa32a1}resvaluesstyles.xml:12: Originally defined here.
W:
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:UsersStefanAppDataLocalTempbrut_util_Jar_48184101202116821.tmp, p, —forced-package-id, 127, —min-sdk-version, 21, —target-sdk-version, 28, —version-code, 20201014, —version-name, 3.1.5, —no-version-vectors, -F, C:UsersStefanAppDataLocalTempAPKTOOL6716385221402879324.tmp, -e, C:UsersStefanAppDataLocalTempAPKTOOL4901568594843723801.tmp, -0, arsc, -I, C:UsersStefanAppDataLocalapk-editor-studioframeworks1.apk, -S, C:UsersStefanAppDataLocalTempapk-editor-studioapk{b2863aec-bedc-41de-84bd-2cea16aa32a1}res, -M, C:UsersStefanAppDataLocalTempapk-editor-studioapk{b2863aec-bedc-41de-84bd-2cea16aa32a1}AndroidManifest.xml]

Any ideas?

Axiom

Axiom

G̴̠͂l̶̙̋ȉ̷̲t̷̰͂c̶̮͊ȟ̶̪ê̵͙d̷̰̿ ̴͉̈Ơ̵̟u̵̮̕t̵̼̊

  • #1

Хорошо. Итак, основы этого.
Я давно использую одну и ту же версию apk editor pro, и у меня никогда не было проблем. 1.8
Но внезапно, когда я использую патч или пытаюсь добавить что-то вручную, я получаю эту ошибку

/data/user/0/com.gmail.heagoo.apkeditor.pro/files/decoded/res/values/public.xml:16: ошибка: объявленный здесь массив открытых символов / knownProducts не определен. [/ spolier]
Происходит в основном с новым выбором игр, а не со старыми.
Я пробовал новейшую версию редактора apk (это отстой), но все равно выдает ту же ошибку.
Я пробовал более старые версии, та же ошибка.

Я могу делать все это на своем компьютере, если мне это нужно, но я, как правило, всегда готов к работе, и apk-редактор уже давно занимается моддингом для игр CoG.

Так кто-нибудь имеет представление о том, что означает эта ошибка и как я могу это исправить.?

Благодарю.

zzoi50

  • #2

Аксиома надеюсь, вы получите помощь. Очень хотел помочь тебе, но я не понимаю, моддинг

  • #3

Здравствуй. Прежде всего, я большой поклонник вашей работы.

Я долгое время не использовал это приложение, и сегодня я открыл его, чтобы изменить apk, и столкнулся с той же проблемой. Если вам удалось решить проблему, пожалуйста, проведите меня через нее. Любая помощь будет оценена.

  • #4

Привет @Axiom Вот три вещи, которые вы могли бы сделать, чтобы исправить ошибку:

1. Снова декомпилируйте в другую папку и скопируйте файл res / values ​​/ public.xml поверх
2. Используйте версию 1.8.28 приложения
3.Создайте новый xml ids.xml в значениях со всеми значениями id, которые должны быть постоянными

  • #5

Эй, я не понимаю … ???????? Можете ли вы сделать быстрое видео об этом? Извините, что просил слишком много … Thx

  • #6

Вы редактируете только XML или код Smali?
Пожалуйста, дайте ссылку на приложение / игру, чтобы я мог проверить это.

  • #7

Вы редактируете только XML или код Smali?
Пожалуйста, дайте ссылку на приложение / игру, чтобы я мог проверить это.

Большое спасибо за помощь, но я уже исправил это сам😁😁

  • #8

Рад узнать, что вы решили проблему.

Edit

The APK is a signed one which have the problem, while installing directly from android studio causes no issues. (Only using the APK).

After finishing developing the app I tried to generate an APK and give to a friend for a test; He said it’s not working (not installable). So I grapped the phone Motorolla with Android 6.0.1 and tried to debug the problem from the Android Monitor in Android studio and this was the error there :

unable to parse package file android

Then i tried the same APK on the same phone i was using to test (Samsung J3 with 5.1.1 Android version) and got the following error in the logs of Android monitor:

Class not found when unmarshalling:
com.android.packageinstaller.InstallFlowAnalytics

I never had this or something like it before, googled a bit and tried to find an answer on SOF found a couple of answers which none of them worked.

  • disabled proGuard
  • added android:extractNativeLibs=»true» to manifest
  • Increased/Decreased the SDK version

as I said none of these worked, any idea ?

This is my manifest and my Gradle files :

Manifest file

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="my.package.myapp">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:icon="@drawable/ice_launder"
        android:label="@string/app_name"
        android:roundIcon="@drawable/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name="my.package.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="my.package.MoreLikeThisActivity" />
        <activity android:name="my.package.SearchResultActivity" />
        <activity android:name="my.package.LastResultsActivity" />
        <activity android:name="my.package.CompanyDetailsActivity" />
        <activity android:name="my.package.OnboardingActivity"/>
    </application>

</manifest>

Gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "my.package.myapp"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    mavenCentral() // jcenter() works as well because it pulls from Maven Central
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.github.bumptech.glide:glide:4.0.0'
    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
    compile 'com.ogaclejapan.smarttablayout:library:1.2.1@aar'
    testCompile 'junit:junit:4.12'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
}

so im trying to pack a apk called pvz 2 it says «packing apk», then it says later «error packing apk», i check to see what happened i cant tell is there any way someone tell me why cant i pack this apk?
also heres the log

I: Using Apktool 2.7.0
I: Copying C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412} classes.dex file…
I: Copying C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412} classes2.dex file…
I: Copying C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412} classes3.dex file…
I: Copying C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412} classes4.dex file…
I: Copying C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412} classes5.dex file…
I: Building resources…
W: C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412}resvaluesstrings.xml:48: error: unescaped apostrophe in string
W: «PvZ 2 Libby’s Revenge Test».
W: C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412}resvaluesstrings.xml:48: error: not a valid string.
W: C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412}resvaluesstrings.xml: error: file failed to compile.
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:UsersLibbyAppDataLocalTempbrut_util_Jar_27485935518483993561611378473981767532.tmp, compile, —dir, C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412}res, —legacy, -o, C:UsersLibbyAppDataLocalTempapk-editor-studioapk{d08206fb-04f8-469e-945e-1a7008234412}buildresources.zip]

Как правильно упаковывать, вы можете обратиться к официальному документу
https://reactnative.cn/docs/signed-apk-android/
или эта статья тоже хороша
https://www.cnblogs.com/shaoting/p/7117454.html

В соответствии с приведенной выше упаковкой могут возникнуть следующие ошибки
1、

......android/app/build/intermediates/res/merged/release/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..

error: failed parsing overlays.

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':app:processReleaseResources'.

> Failed to process resources, see aapt output above for details.

* Try:

Run with **--stacktrace** option to get the stack trace. Run with **--info** or **--debug** option to get more log output. Run with **--scan** to get full insights.

* Get more help at [https://help.gradle.org](https://help.gradle.org)


решение
Причина и решение: добавьте следующую строку в файл gradle.properties: android.enableAapt2 = false, по сути, для получения ресурсов используется старый aapt.

  1. Возможные ошибки

....../android/app/build/intermediates/res/merged/release/drawable-hdpi-v4/node_modules_reactnavigationstack_dist_views_assets_backicon.png: error: Duplicate file.
....../android/app/build/intermediates/res/merged/release/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png: Original is here. The version qualifier may be implied.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to process resources, see aapt output above for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Есть два решения:
Первый тип:

Файл node_modules / response-native / response.gradle в этом каталоге:
В этом методе def currentBundleTask = tasks.create (…

После блока doFirst) добавьте к нему следующий код

doLast {
    def moveFunc = { resSuffix ->
        File originalDir = file("${resourcesDir}/drawable-${resSuffix}")
        if (originalDir.exists()) {
            File destDir = file("${resourcesDir}/drawable-${resSuffix}-v4")
            ant.move(file: originalDir, tofile: destDir)
        }
    }
    moveFunc.curry("ldpi").call()
    moveFunc.curry("mdpi").call()
    moveFunc.curry("hdpi").call()
    moveFunc.curry("xhdpi").call()
    moveFunc.curry("xxhdpi").call()
    moveFunc.curry("xxxhdpi").call()
}

Второе решение:
Откройте каталог android с помощью Android Studio, найдите каталог res / drawable и удалите в нем все файлы изображений (поскольку эти изображения автоматически создаются React Native, вы можете удалить их). Повторите команду gradlew AssemblyRelease еще раз, и никаких ошибок не будет.

Как правильно упаковывать, вы можете обратиться к официальному документу
https://reactnative.cn/docs/signed-apk-android/
или эта статья тоже хороша
https://www.cnblogs.com/shaoting/p/7117454.html

В соответствии с приведенной выше упаковкой могут возникнуть следующие ошибки
1、

......android/app/build/intermediates/res/merged/release/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..

error: failed parsing overlays.

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':app:processReleaseResources'.

> Failed to process resources, see aapt output above for details.

* Try:

Run with **--stacktrace** option to get the stack trace. Run with **--info** or **--debug** option to get more log output. Run with **--scan** to get full insights.

* Get more help at [https://help.gradle.org](https://help.gradle.org)


решение
Причина и решение: добавьте следующую строку в файл gradle.properties: android.enableAapt2 = false, по сути, для получения ресурсов используется старый aapt.

  1. Возможные ошибки

....../android/app/build/intermediates/res/merged/release/drawable-hdpi-v4/node_modules_reactnavigationstack_dist_views_assets_backicon.png: error: Duplicate file.
....../android/app/build/intermediates/res/merged/release/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png: Original is here. The version qualifier may be implied.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to process resources, see aapt output above for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Есть два решения:
Первый тип:

Файл node_modules / response-native / response.gradle в этом каталоге:
В этом методе def currentBundleTask = tasks.create (…

После блока doFirst) добавьте к нему следующий код

doLast {
    def moveFunc = { resSuffix ->
        File originalDir = file("${resourcesDir}/drawable-${resSuffix}")
        if (originalDir.exists()) {
            File destDir = file("${resourcesDir}/drawable-${resSuffix}-v4")
            ant.move(file: originalDir, tofile: destDir)
        }
    }
    moveFunc.curry("ldpi").call()
    moveFunc.curry("mdpi").call()
    moveFunc.curry("hdpi").call()
    moveFunc.curry("xhdpi").call()
    moveFunc.curry("xxhdpi").call()
    moveFunc.curry("xxxhdpi").call()
}

Второе решение:
Откройте каталог android с помощью Android Studio, найдите каталог res / drawable и удалите в нем все файлы изображений (поскольку эти изображения автоматически создаются React Native, вы можете удалить их). Повторите команду gradlew AssemblyRelease еще раз, и никаких ошибок не будет.

В операционной системе Android присутствует большое количество ошибок и недоработок, которые исправляются лишь со временем. Пока до этого дойдут «руки» у самих разработчиков, пользователям приходится придумывать свои решения для каждой проблемы. Одной из распространенных ошибок на Андроиде по сей день, остается ошибка при установке приложений, когда вместо инсталляции у вас на экране появляется сообщение «Синтаксическая ошибка». Что это такое? Почему возникает? Как исправить? Непонятно! А вот здесь то мы вам и раскроем все секреты!

Причины появления

Причины ошибки

В основном эта проблема появляется с программами, которые устанавливаются не через официальный сервис Google Play, а из сторонних источников и загружаются как отдельные apk файлы. В сервисе же система автоматически проверяет каждый скачиваемый на устройство файл, и заранее может предупредить пользователя, что для его телефона приложение не подходит. В этом случае вообще не будет доступна загрузка программы или игры на смартфон.

Вот основные причины возникновения ошибки при синтаксическом анализе пакета:

  1. Файл, который вы пытаетесь скачать, загружен не полностью;
  2. В телефоне установлен запрет на установку приложений из неизвестных источников;
  3. Версия приложения не соответствует версии операционной системы.

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

Сначала нужно определить, в чем же проблема, и почему не устанавливается тот или иной apk файл. Для этого поэтапно проводим все действия, начиная с самых простых.

Что означает ошибка при синтаксическом анализе пакета и ее причины

Появление синтаксической ошибки при установке apk, сообщает о проблемах чтения и распаковки файла. К возможным причинам относится:

  • версия Android или характеристики смартфона не соответствуют минимальным требованиям приложения;
  • на девайсе запрещено устанавливать софт с неизвестного источника;
  • скачанный apk не загрузился до конца, был поврежден перед “заливкой” на сайт или не работал изначально;
  • процесс распаковки блокирует антивирус;
  • manifest файл программы был изменен;
  • установочный документ был переименован.

Разрешаем установку из неизвестных источников

По умолчанию в операционной системе Андроид установка из неизвестных источников запрещена, чтобы пользователь не смог навредить своему смартфону. Дело в том, что сторонние приложения и игры могут содержать вирусы, трояны и прочие зловредные коды.

Вам нужно разрешить установку таких приложений.

  1. Для этого заходим в «Настройки» аппарата и выбираем пункт «Параметры безопасности».
  2. Параметры безопасности

  3. Здесь находим вкладку «Неизвестные источники» и ставим галочку, чтобы активировать данный пункт!
  4. Неизвестные источники

  5. Все, инсталляция apk файлов, загруженных в смартфон через SD-карту или компьютер, разрешена.

Внимание! Действия, описанные выше, могут навредить вашему устройству. Рекомендуем загружать apk только с проверенных сайтов и обязательно каждый файл проверять через антивирус на компьютере, например, Касперского.

Еще лучше загружать apk на сайт «Вирустотал». Он позволяет осуществлять проверки сразу по 50 популярным антивирусам.

И так, теперь проверяем, исчезла ли синтаксическая ошибка или нет. Нет? Тогда идем дальше!

↑ Вариант 6: Несовместимое приложение

Целый ряд приложений не осуществляют поддержку не новых версий Ос Андроид. Поэтому возникает несовместимость некоторых программ с операционной системой. В результате пользователя извещают о том, что произошла ошибка. Это может происходить, если выполняется установка программы, требующей Андроид 8 Орео и выше, на телефон с Андроид 7 Нуга.
Чтобы не оказаться в такой ситуации, следует внимательным образом ознакомиться с описанием программы на Гугл Плей Маркет, в особенности с системными требованиями.

Проверка версии приложения

У каждого apk-файла, как и у приложений в Google Play, имеется своя минимальная версия операционной системы, при наличии которой и будет осуществляться инсталляция. Если версия Андроида ниже, чем рекомендуемая версия устанавливаемого apk, то вполне понятно, почему возникает синтаксическая ошибка.

Для решения этой проблемы есть 3 способа:

  1. Найти версию программы, которая будет соответствовать версии вашего Android;
  2. Обновить ОС на устройстве до максимальной версии, соответствующей приложению;
  3. Искусственно изменить требования версии через специальный инструмент.

Думаю, что в первых двух вариантах все понятно. Мы же специально рассмотрим и третий вариант с использованием отдельной программы, которая позволит нам изменить требуемую версию операционной системы и корректно установить apk файл. Это в основном подходит тем пользователям, у кого установлена старая версия ОС.

Редактирование файла программой APK Editor

Для работы требуется программа APK Editor. Она есть в двух версиях. Нужна Pro версия, так как именно в ней активирована функция редактирования нужных нам параметров. Стоимость на данный момент составляет 159 рублей. Это небольшая цена за такой прекрасный пакет инструментов.

APK Editor Pro — это универсальный и мощный редактор apk-файлов. Позволяет не только менять минимальные версии для приложений, но еще:

  • удалять лишние рекламные объявления;
  • менять фон изображений, макеты, разрешение;
  • русифицировать интерфейс и пункты меню;
  • поменять текст;
  • добавить какие-то свои кнопки и вкладки.

Для простых операций не требуется особых навыков, а вот для сложной модификации приложения уже нужны профессиональные навыки работы с подобными инструментами и знание архитектуры приложений под нашу ОС.

Порядок действий:

  1. Зайдите в Google Play и скачайте Pro версию на свой смартфон. Откройте программу.
  2. Далее кликните по вкладке «Выберите apk-файл» и укажите путь к приложению, которое не устанавливается на вашем смартфоне.
  3. Нажмите на этом файле и подержите несколько секунд палец, чтобы появилось контекстное меню. В нем выберите пункт «Редактирование ресурсов». Внимание! Здесь может появиться ошибка «Невозможно разобрать apk-файл». Это нормальное явление, которое не влияет на нашу процедуру. Просто проигнорируйте данное оповещение.
  4. Перед вами появится большое количество строчек и подписей на английском языке, но нужно кликнуть по вкладке «Манифест», которая расположена в правом нижнем углу экрана.
  5. Ждете, пока система прогрузит все файлы. Появится большой список строк и различных параметров.
  6. Нужно найти параметр «uses-sdk android:minSdkVersion». Он может быть как в начале списка, так и в середине. Но обычно встречается вначале. Нажмите на него, чтобы появилось меню редактирования. Здесь появится две вкладки, в которых будет написано двухзначное число. Это число и указывает на минимальную версию операционной системы Android, с которой будет работать телефон.

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

Версия операционной системы Код (API) Код версии (название ОС)
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.4 Android 2.3.3 10 GINGERBREAD_MR1
Android 2.3.2 Android 2.3.1 Android 2.3 9 GINGERBREAD

Как пользоваться этой таблицей? Например, на смартфоне установлена операционная система 4.2.2, а приложение, которое вы загружаете, требует минимальную версию Android — 5.0. Чтобы apk-файл успешно был установлен на смартфоне, в редакторе необходимо изменить параметры на 17 в обеих строчках. И так можно подстроить любое приложение под любую версию операционной системы. Но учтите, что стабильной работы на очень старых Андроидах никто не гарантирует!

Изменили значения? Отлично! Теперь нажимаете кнопку «Сохранить», после чего система обратно переадресует на экран с другими строчками и параметрами. Здесь в верхнем правом углу еще раз нужно кликнуть по вкладке «Сохранить» и дождаться, пока система заново пересоберет файл и сохранит его.

Процесс сборки файла напрямую зависит от объема информации, которая в нем хранится. Чем больше весит apk-файл, тем дольше будет программа компилировать приложение, поэтому ждите до конца и не думайте, что телефон завис!

В конце появится оповещение о том, что apk-файл сохранен, и рядом будет полный путь этого приложения. Можете попробовать установить его из этого же меню, так как будет вкладка «Установить» или можете проследовать через файловый менеджер к папке с сохранением и попробовать инсталлировать приложение оттуда. Если вы все сделали правильно, то установка будет успешной.

Внимание! Файл сохраняется как дубликат вашего apk, поэтому не путайте их! Старый файл так и будет выдавать синтаксическую ошибку, поэтому нужно осуществлять установку нового, созданного в программе APK Editor Pro.

Проверка manifest-файла программы

Данное решение подойдет для пользователей, использующих программы с целью внести изменения в manifest-файлы приложений. Если вы осуществили в файле приложения AndroidManifest.xml какие-либо изменения, то следует его попытаться восстановить в исходное положение «по умолчанию».

Перед выполнением действий необходимо убедиться, что было изменено название .apk. К примеру, если первоначальный .apk имел название original.apk, а вы переименовали в original1.apk, то его следует обратно переименовать, присвоив исходное имя – «original.apk».

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

Читайте Сбой разбора пакета при установке … на Android

Конкретную причину в этой ситуации довольно сложно диагностировать, а универсальных способов решения проблемы нет. Здесь необходимо или долго и серьезно разбираться, или выбрать путь наименьшего сопротивления, используя альтернативный вариант инсталляции выбранного приложения (к примеру, с иного девайса).

Дополнительные способы решения проблемы

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

  1. Включаем отладку по USB. В некоторых случаях такой подход позволяет решить проблему, но это не панацея, и шанс не особо велик. Для включения этой опции нужно зайти в «Настройки» своего аппарата и кликнуть по вкладке «О телефоне». Прокрутите полосу вниз, пока не найдете пункт «Номер сборки». Кликните по нему 7 раз, чтобы активировать режим разработчика. Теперь переходите обратно в «Настройки» и прокручиваете еще раз вниз, пока не дойдете по пункта «Меню разработчика». В нем находите пункт «Отладка по USB» и активируете.
  2. Отключение антивирусов. Иногда установка не осуществляется из-за антивируса, который установлен у вас в смартфоне. Порою сигнатуры, которые подаются антивирусом, ложные, и файл блокируется просто так. Но это единичные случаи. Если действительно уверены, что данный apk-файл — безопасный, отключайте антивирус и попробуйте инсталлировать приложение.

Внимание! Пункты меню в Android могут отличаться, и в некоторых версиях «Отладка по USB» может находиться в других каталогах или вкладках, вызываться другими действиями, но во всех версиях Андроида она присутствует!

↑ Вариант 4: Отключение антивируса

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

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

Его необходимо переказачать и инсталлировать снова. Если это не помогает, то загрузите файл из иного источника.

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

Устранение

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

Разница в версиях прошивки

Начнем с того случая, когда версия прошивки вашего телефона ниже версии, для которой писалась программа. Чтобы убедиться, что проблема именно в этом, сначала посмотрите, какой версии ваш Android.

  • Открываем настройки телефона. Заходим в настройки телефона
  • Листаем вниз и заходим в пункт «О телефоне». Заходим в пункт «О телефоне»
  • Нажимаем на пункт «Информация об устройстве». Заходим в пункт «Информация об устройстве»
  • Здесь находится пункт «Версия OC Android», в котором и указаны нужные нам цифры. Смотрим версию прошивки

Теперь на сайте, с которого скачивали приложение, ищем слова «Требуемая версия Android». Обычно выглядит так:

Смотрим версию, под которую писалось приложение

Если требуется версия выше, чем есть у вас, постарайтесь найти это же приложение для другой вашей версии прошивки или же обновите ваш телефон. Для обновления выполните следующие действия:

  • Открываем настройки телефона. Открываем настройки телефона
  • Переходим в пункт «О телефоне». Переходим в пункт «О телефоне»
  • Нажимаем кнопку «Обновление системы». Если ваша модель телефона поддерживает более новую версию, то она найдется и установится автоматически. Проверяем наличие обновления прошивки

Проблемы с установочным файлом

Синтаксическая ошибка может возникнуть, если файл имеет повреждения, полученные при скачивании или распаковке. Возможно, он был написан с ошибкой в коде изначально. В этом случае одно решение — скачать файл заново или с другого источника. Если ситуация повторяется, попробуйте сменить браузер или загрузчик, которым вы пользуетесь.

Возникновение ошибки из-за вирусов

Если предыдущие способы не помогли, стоит задуматься о наличии вирусов на телефоне. Проверяется это очень легко:

  • Заходим в Play Market и ищем бесплатное приложение «Антивирус Dr. Web Light». Ищем антивирус Dr. Web
  • Устанавливаем и открываем его. Устанавливаем приложение
  • Нажимаем кнопку Scanner. Заходим в пункт «Scanner»
  • Нажимаем кнопку Full Scan. Выбираем режим «Full Scan»

Если антивирус обнаружит вирус, удаляйте их и продолжайте пользоваться телефоном. Если вы попробовали все способы и ни один из них не решил ошибку, то остается одно — нести устройство в сервис, для проверки его специалистами.

Видеоурок: как устранить синтаксическую ошибку анализа пакетов на Android

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

  • Денис Долгополов

Благодаря большой популярности операционной системы Android, в магазине приложений Google Play очень много программ, игра и других приложений, которые также можно скачать и из сторонних не официальных источников, и не все из них к сожалению, хорошего качества, поэтому происходят ошибки на Андроид смартфоне. Одна из таких ошибок — сбой разбора пакета, что она означает, когда может произойти данный сбой и как исправить мы рассмотрим в нашей публикации.

Появление ошибки из-за вирусов

Если вышеперечисленные методы не решили вопрос с ошибкой, то стоит проверить гаджет на вирусы:

  • Заходим в Плей Маркет, выбираем бесплатную программу «Антивирус Dr. Web Light».
  • Устанавливаем и запускаем его.
  • Нажимаем на «Scanner».
  • Нажимаем на «Full Scan».

Если Dr. Web найдет вирусы, то удаляйте их, после чего продолжайте пользоваться девайсом.

Популярность Android во многом объясняется открытым исходным кодом операционной системы, открывающем для разработчиков практически безграничные возможности. Благодаря таким свойствам ОС пользователи сталкиваются с различными ошибками. Одна из самых распространённых – «Сбой разбора пакета». Чаще всего она возникает при попытке установить несоответствующее ПО или повреждённый файл. Рассмотрим причины и методы решения более детально.

Методика решения ошибки «Сбой разбора пакета» на Android.

Общие сведения

Для начала следует сказать несколько слов об особенностях операционной системы, что поможет быстрее устранить сбой, обозначенный сообщением: «При синтаксическом анализе пакета возникла неполадка». «Андроид» — это платформа с открытым кодом, что удобно для создателей всевозможного программного обеспечения. Этот факт также положительно сказался на востребованности системы.

Зачастую, если пользователи Android задумываются о переходе к иной мобильной ОС, они в первую очередь оценивают ассортимент приложений, и лишь после этого принимают решение о миграции. Однако при всех преимуществах платформа не застрахована от сбоев.

Ошибка: «При синтаксическом анализе пакета возникла неполадка» — одна из наиболее давних и самых распространенных проблем, с которыми сталкиваются владельцы соответствующих устройств. Такое сообщение, как правило, возникает при попытке установки приложения на мобильный телефон.

Если попытаться продолжить инсталляцию выбранного программного обеспечения посредством внесения изменений в файл manifest, это, скорее всего, не поможет устранить сбой. Искусственное снижение требований программы к системе — не лучшая идея. Далее речь пойдет о более действенных решениях.

Причины

Сначала следует разобраться, почему устройство пишет: «При синтаксическом анализе пакета возникла неполадка». Известно несколько причин такого сбоя. Прежде всего, сообщение может появиться после внесения изменений в файл manifest, относящийся к выбранному приложению. К примеру, если скорректировать требования к версии Android.

Следующей причиной является повреждение файла.apk. Сбой может быть также вызван установкой сторонних приложений, полученных из неизвестных источников, если в настройках смартфона отсутствует разрешение на подобные действия.

Ошибка может быть вызвана несовместимостью версии Android устройства с требованиями выбранного приложения. Еще одной причиной могут стать настройки безопасности. В них может быть установлен запрет на установку любых сторонних софтов.

Проверка файла manifest

Теперь рассмотрим на практике, как устранить проблему, если при синтаксическом анализе пакета возникла неполадка. Первое решение предназначено для пользователей, которые применяют специальные средства для внесения правок в файлы приложений типа manifest.

Если перед возникновением сбоя в элемент AndroidManifest.xml были внесены какие-либо изменения, необходимо восстановить исходное состояние материала. Прежде чем что-либо предпринимать, следует убедиться, что имя файла.apk было изменено. Если это так, необходимо вернуть прежнее название указанному элементу.

Когда обратное переименование будет выполнено, снова делаем попытку установить приложение на устройство. Проверяем, исчез ли сбой. Возможно также возникновение проблемы с кодом приложения. Диагностировать точную причину в таком случае очень сложно. Можно прибегнуть к альтернативному способу установки выбранного приложения, к примеру, с другого устройства.

Отмена запретов

Для устранения сообщения: «При синтаксическом анализе пакета возникла неполадка» необходимо разрешить установку программного обеспечения из неизвестных источников. Операционная система Android может налагать запрет на указанное действие исходя из действующих требований безопасности. В таком случае получать новые приложения можно только из магазина Google Play.

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

В настройках безопасности устройства имеется пункт, позволяющий разрешить установку программного обеспечения из неизвестных источников. Выполняем всего несколько действий:

  1. Переходим в раздел «Настройки».
  2. Выбираем пункт «Безопасность».
  3. Находим строку «Неизвестные источники».
  4. При помощи галочки разблокируем загрузку.
  5. Если устройство выдает запрос, подтверждаем свое решение, используя кнопку «OK».
  6. Возвращаемся в папку, в которой находится необходимый нам файл.apk. Нажимаем на него и устанавливаем приложение.

Дополнительные средства

Что же делать, если при синтаксическом анализе пакета возникла неполадка? Это можно устранить и другими способами. Например, отключив антивирус. Именно он может блокировать установку. В результате возникает описанная ошибка. Большинство антивирусов пытаются закрыть доступ к устройству для приложений, которые, по их мнению, могут выглядеть подозрительными или ненадежными.

Итак, временно отключаем систему защиты. Повторяем попытку установки файла.apk. Сообщение об ошибке может исчезнуть. Сбой также может возникнуть, если выбранный файл.apk поврежден.

В подобном случае загружаем приложение повторно. Затем его устанавливаем. Ошибка может быть устранена. Также следует убедиться, что файл был скачан полностью. Для этого сравниваем размеры загруженного и предлагаемого файла.

На сегодняшний день операционная система Андроид является одной из самых развитых и перспективных на рынке мобильных устройств и обладает самым богатым магазином приложений. Однако, как и в любой другой системе, в Андроид случаются ошибки. В этой статье мы разберемся, почему появляется ошибка «Сбой разбора пакета» и как от неё избавиться.

Сбой разбора пакета, что делать?

По умолчанию есть возможность устанавливать приложения только из официального магазина приложений Google Play. Включить возможность устанавливать приложения с посторонних сайтов можно так:

  1. Откройте настройки телефона
  2. Перейдите раздел «Дополнительно»
  3. Нажмите «Конфиденциальность»
  4. Установите галочку возле пункта «Неизвестные источники»

В разных прошивках путь к этому разделу настроек может несколько отличаться, но такой пункт есть во всех версиях Андроид. Если галочка и так установлена, значит проблема явно в другом.

Установочный файл мог быть скачан с ошибкой. Попробуйте скачать его заново и повторить установку.

На многих сайтах с приложениями указано какая минимальная версия Андроид поддерживается конкретным приложением. Посмотрите какой Андроид установлен на вашем смартфоне, возможно он уже устарел. Делается это так:

  1. Откройте настройки
  2. В самом низу нажмите на пункт «О телефоне»

Вы увидите список характеристик вашего устройства, в том числе и версию Андроид. Под этим списком есть кнопка «Обновить систему». Нажмите на неё чтобы проверить наличие обновлений, подробнее про обновление системы читайте в статье

Телефоны и планшеты на операционной системе Android нередко выдают ошибки, при совершении какого-либо действия. Из-за этого устройство становится либо совсем бесполезным, либо выполняет лишь часть требуемых задач. Но не стоит сразу нести телефон в сервис, многие ошибки исправляются очень легко, их решение посильно обычному пользователю, без специального образования, и не несет за собой денежных затрат. Например, чтобы исправить ошибку при синтаксическом анализе пакета Андроид, достаточно воспользоваться инструкцией, приведенной ниже.

Проверка версии приложения

У каждого apk-файла, как и у приложений в Google Play, имеется своя минимальная версия операционной системы, при наличии которой и будет осуществляться инсталляция. Если версия Андроида ниже, чем рекомендуемая версия устанавливаемого apk, то вполне понятно, почему возникает синтаксическая ошибка.

Для решения этой проблемы есть 3 способа:

  1. Найти версию программы, которая будет соответствовать версии вашего Android;
  2. Обновить ОС на устройстве до максимальной версии, соответствующей приложению;
  3. Искусственно изменить требования версии через специальный инструмент.

Думаю, что в первых двух вариантах все понятно. Мы же специально рассмотрим и третий вариант с использованием отдельной программы, которая позволит нам изменить требуемую версию операционной системы и корректно установить apk файл. Это в основном подходит тем пользователям, у кого установлена старая версия ОС.

Редактирование файла программой APK Editor

Для работы требуется программа APK Editor. Она есть в двух версиях. Нужна Pro версия, так как именно в ней активирована функция редактирования нужных нам параметров. Стоимость на данный момент составляет 159 рублей. Это небольшая цена за такой прекрасный пакет инструментов.

APK Editor Pro — это универсальный и мощный редактор apk-файлов. Позволяет не только менять минимальные версии для приложений, но еще:

  • удалять лишние рекламные объявления;
  • менять фон изображений, макеты, разрешение;
  • русифицировать интерфейс и пункты меню;
  • поменять текст;
  • добавить какие-то свои кнопки и вкладки.

Для простых операций не требуется особых навыков, а вот для сложной модификации приложения уже нужны профессиональные навыки работы с подобными инструментами и знание архитектуры приложений под нашу ОС.

Порядок действий:

  1. Зайдите в Google Play и скачайте Pro версию на свой смартфон. Откройте программу.
  2. Далее кликните по вкладке «Выберите apk-файл» и укажите путь к приложению, которое не устанавливается на вашем смартфоне.
  3. Нажмите на этом файле и подержите несколько секунд палец, чтобы появилось контекстное меню. В нем выберите пункт «Редактирование ресурсов». Внимание! Здесь может появиться ошибка «Невозможно разобрать apk-файл». Это нормальное явление, которое не влияет на нашу процедуру. Просто проигнорируйте данное оповещение.
  4. Перед вами появится большое количество строчек и подписей на английском языке, но нужно кликнуть по вкладке «Манифест», которая расположена в правом нижнем углу экрана.
  5. Ждете, пока система прогрузит все файлы. Появится большой список строк и различных параметров.
  6. Нужно найти параметр «uses-sdk android:minSdkVersion». Он может быть как в начале списка, так и в середине. Но обычно встречается вначале. Нажмите на него, чтобы появилось меню редактирования. Здесь появится две вкладки, в которых будет написано двухзначное число. Это число и указывает на минимальную версию операционной системы Android, с которой будет работать телефон.

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

Версия операционной системы Код (API) Код версии (название ОС)
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.4 Android 2.3.3 10 GINGERBREAD_MR1
Android 2.3.2 Android 2.3.1 Android 2.3 9 GINGERBREAD

Как пользоваться этой таблицей? Например, на смартфоне установлена операционная система 4.2.2, а приложение, которое вы загружаете, требует минимальную версию Android — 5.0. Чтобы apk-файл успешно был установлен на смартфоне, в редакторе необходимо изменить параметры на 17 в обеих строчках. И так можно подстроить любое приложение под любую версию операционной системы. Но учтите, что стабильной работы на очень старых Андроидах никто не гарантирует!

Изменили значения? Отлично! Теперь нажимаете кнопку «Сохранить», после чего система обратно переадресует на экран с другими строчками и параметрами. Здесь в верхнем правом углу еще раз нужно кликнуть по вкладке «Сохранить» и дождаться, пока система заново пересоберет файл и сохранит его.

Процесс сборки файла напрямую зависит от объема информации, которая в нем хранится. Чем больше весит apk-файл, тем дольше будет программа компилировать приложение, поэтому ждите до конца и не думайте, что телефон завис!

В конце появится оповещение о том, что apk-файл сохранен, и рядом будет полный путь этого приложения. Можете попробовать установить его из этого же меню, так как будет вкладка «Установить» или можете проследовать через файловый менеджер к папке с сохранением и попробовать инсталлировать приложение оттуда. Если вы все сделали правильно, то установка будет успешной.

Внимание! Файл сохраняется как дубликат вашего apk, поэтому не путайте их! Старый файл так и будет выдавать синтаксическую ошибку, поэтому нужно осуществлять установку нового, созданного в программе APK Editor Pro.

Причины возникновения проблемы

Причины, по которым при установке приложения что-то могло пойти не так, всего несколько:

  • Версия Android, для которой была написана устанавливаемая программа, не совпадает с версией Android, установленной на вашем телефоне. Например, у вас телефон с версией операционной системы 3.0, а программа писалась под версию 4.0.3. Если же версия вашего Андроида выше версии, под которое писалось приложение, никакой ошибки не произойдет.
  • Приложение на момент установки было скачено не до конца либо загружено с ошибкой в установочном apk файле.
  • На телефоне находятся вирусу, мешающие процессу установки.

Дополнительные способы решения проблемы

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

  1. Включаем отладку по USB. В некоторых случаях такой подход позволяет решить проблему, но это не панацея, и шанс не особо велик. Для включения этой опции нужно зайти в «Настройки» своего аппарата и кликнуть по вкладке «О телефоне». Прокрутите полосу вниз, пока не найдете пункт «Номер сборки». Кликните по нему 7 раз, чтобы активировать режим разработчика. Теперь переходите обратно в «Настройки» и прокручиваете еще раз вниз, пока не дойдете по пункта «Меню разработчика». В нем находите пункт «Отладка по USB» и активируете.
  2. Отключение антивирусов. Иногда установка не осуществляется из-за антивируса, который установлен у вас в смартфоне. Порою сигнатуры, которые подаются антивирусом, ложные, и файл блокируется просто так. Но это единичные случаи. Если действительно уверены, что данный apk-файл — безопасный, отключайте антивирус и попробуйте инсталлировать приложение.

Внимание! Пункты меню в Android могут отличаться, и в некоторых версиях «Отладка по USB» может находиться в других каталогах или вкладках, вызываться другими действиями, но во всех версиях Андроида она присутствует!

Устранение

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

Разница в версиях прошивки

Начнем с того случая, когда версия прошивки вашего телефона ниже версии, для которой писалась программа. Чтобы убедиться, что проблема именно в этом, сначала посмотрите, какой версии ваш Android.

Теперь на сайте, с которого скачивали приложение, ищем слова «Требуемая версия Android». Обычно выглядит так:

Смотрим версию, под которую писалось приложение

Если требуется версия выше, чем есть у вас, постарайтесь найти это же приложение для другой вашей версии прошивки или же обновите ваш телефон. Для обновления выполните следующие действия:

Проблемы с установочным файлом

Синтаксическая ошибка может возникнуть, если файл имеет повреждения, полученные при скачивании или распаковке. Возможно, он был написан с ошибкой в коде изначально. В этом случае одно решение — скачать файл заново или с другого источника. Если ситуация повторяется, попробуйте сменить браузер или загрузчик, которым вы пользуетесь.

Возникновение ошибки из-за вирусов

Если предыдущие способы не помогли, стоит задуматься о наличии вирусов на телефоне. Проверяется это очень легко:

Если антивирус обнаружит вирус, удаляйте их и продолжайте пользоваться телефоном. Если вы попробовали все способы и ни один из них не решил ошибку, то остается одно — нести устройство в сервис, для проверки его специалистами.

Видеоурок: как устранить синтаксическую ошибку анализа пакетов на Android

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

ОС Android является самой популярной ОС для смартфонов на сегодняшний день, и во многом это объясняется обширной коллекции приложений. К тому же платформа Android является операционной системой с открытым исходным кодом, что весьма удобно для разработчиков всевозможного софта и также является одной из причин популярности. Таким образом, если пользователь Android задумается о переходе на другую мобильную ОС, он, прежде всего, посмотрит на ассортимент приложений и только потом будет принимать решение о том, перейти или нет. Тем не менее, даже с учетом всех своих преимуществ ОС Android не застрахована от ошибок, и пользователи с ними периодически сталкиваются.

Синтаксическая ошибка на Android-устройствах — одна из старейших и наиболее распространенных ошибок, с которыми сталкиваются владельцы Android-устройств. Ошибка обычно появляется при попытке установить приложение на мобильный телефон. Сообщение о ней выглядит так: «Синтаксическая ошибка. Ошибка при синтаксическом анализе пакетах

». Понимать это нужно следующим образом: «приложение не может быть установлено на вашем телефоне из-за проблемы синтаксического анализа»

Если вы продолжите попытки установки выбранного софта путем внесения изменений в manifest-файл приложения

, то вряд ли избавитесь от ошибки. Искусственно снижать требования программы к системе — не лучшая идея. Сегодня мы решили досконально разобраться в вероятных причинах появления ошибки и предложить вам несколько способов ее несложного и безопасного устранения.

Разница в версиях прошивки

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

  • Переходим в «Настройки».
  • Листаем вниз, выбираем вкладку «О телефоне».
  • Нажимаем на раздел «Информация об устройстве».
  • Здесь есть строка «Версия ОС Андроид», где указаны необходимые для нас цифры.

Теперь смотрим на сайте, с которого приложение скачано, требования к версии Андроид. На скриншоте ниже показано, как это обычно выглядит.

Если требуется версия Андроид выше, чем установленная на вашем девайсе, то постарайтесь найти данное приложение для вашей версии системы или обновите гаджет по следующей инструкции:

  • Переходим в настройки.
  • Выбираем раздел «О телефоне».
  • Нажимаем на кнопку «Обновление системы». Если ваш гаджет поддерживает более новую версию ОС, то она будет определена и автоматически загрузится.

Читайте

Причины синтаксической ошибки в Android:

Прежде чем приступить к исправлению ошибки, давайте посмотрим, что может послужить причиной ее возникновения. На сегодняшний день известны несколько таких причин
:

  1. Внесение изменений в manifest-файл приложения (например, изменение требований к версии ОС Android).
  2. Повреждение или неполная закачка.apk файла.
  3. Загрузка и установка сторонних приложений из неизвестных источников при отсутствии разрешения на подобные действия в настройках смартфона.
  4. Несовместимость версии ОС Android или аппаратного обеспечения смартфона с требованиями устанавливаемого приложения.
  5. Блокировка установки любых сторонних приложений настройками безопасности.

Способ 1. Проверка manifest-файла приложения

Это решение предназначено только для пользователей, которые пользуются программами для внесения изменений в manifest-файлы приложений. Таким образом, если вы один из них и сделали какие-либо изменения в файл приложения AndroidManifest.xml, вам нужно попытаться восстановить его в исходное состояние

«по умолчанию». Прежде чем что-то предпринимать, убедитесь в том, что название.apk было изменено. Например, если первоначальный.apk был назван original.apk, и вы переименовали его original1.apk то вам, возможно, придется переименовать его обратно, присвоив исходное имя, которым является «Original.apk».
После того, как переименование выполнено, вновь попытайтесь установить приложение на ваш телефон и посмотреть, пропала ли ошибка при синтаксическом анализе пакета.
Возможно, возникла проблема с кодом приложения

. Диагностировать конкретную причину в данном случае очень сложно, и универсальных методов решения проблемы не существует — здесь либо придется разбираться долго и серьезно, либо пойти по пути наименьшего сопротивления, воспользовавшись альтернативным способом установки выбранного приложения (например, с другого устройства).

Появление ошибки из-за вирусов

Если вышеперечисленные методы не решили вопрос с ошибкой, то стоит проверить гаджет на вирусы:

  • Заходим в Плей Маркет, выбираем бесплатную программу «Антивирус Dr. Web Light».
  • Устанавливаем и запускаем его.
  • Нажимаем на «Scanner».
  • Нажимаем на «Full Scan».

Если Dr. Web найдет вирусы, то удаляйте их, после чего продолжайте пользоваться девайсом.

Способ 2: Разрешить установку приложений из неизвестных источников

В соответствии с требованиями безопасности Android-смартфон может запрещать устанавливать сторонние приложения и софт из неизвестных источников, позволяя делать это только из Google Play Маркет. Запрет связан с тем, что установка сторонних приложений из неизвестных источников может повредить ваш телефон.

Так что, если вы пытаетесь установить файл.apk, то можете столкнуться с «ошибкой при синтаксическом анализе пакета». Чтобы исправить ошибку и обойти запрет, нужно разрешить установку приложений из неизвестных источников

. Соответствующий пункт имеется в настройках безопасности телефона.

Вернитесь в папку, где находится файл.apk. Нажмите на него и установите приложение.

Дополнительные причины ошибки синтаксического анализа пакета

Если дело не в версии или синтаксическая ошибка возникает при попытке установки приложения из Play Маркет, возможны следующие варианты причины и способов исправить ситуацию:

  • Во всех случаях, когда речь идет о приложении не из Play Маркет, а из стороннего файла .apk, убедитесь, что в Настройки — Безопасность на вашем устройстве включен пункт «Неизвестные источники. Разрешить установку приложений из неизвестных источников».
  • Антивирус или другое защитное ПО на вашем устройстве могут мешать установке приложений, попробуйте временно отключить или удалить его (при условии, что уверены в безопасности приложения).
  • Если вы загружаете приложение со стороннего источника и сохраняете на карту памяти, попробуйте использовать файловый менеджер, перенести файл apk во внутреннюю память и запустить оттуда с помощью этого же файлового менеджера (см. Лучшие файловые менеджеры для Android). Если вы и без того открываете apk через сторонний файловый менеджер, попробуйте очистить кэш и данные этого файлового менеджера и повторить процедуру.
  • Если файл .apk находится в виде вложения в письме электронной почты, то предварительно сохраните его во внутреннюю память телефона или планшета.
  • Попробуйте загрузить файл приложения из другого источника: возможен вариант, когда в хранилище на каком-то сайте файл поврежден, т.е. нарушена его целостность.

Ну и в завершение еще три, варианта: иногда проблему удается решить, включив отладку по USB (хотя мне и непонятна логика), сделать это можно в меню разработчика (см. Как включить режим разработчика на Android).

Также, в том, что касается пункта про антивирусы и защитное ПО, возможны случаи, когда установке мешает и какое-то иное, «обычное», приложение. Чтобы исключить этот вариант, попробуйте установить приложение, вызывающее ошибку, в безопасном режиме (см. Безопасный режим на Android).

И последнее, может пригодиться начинающему разработчику: в некоторых случаях, если переименовать файл .apk подписанного приложения, при установке он начинает сообщать о том, что произошла ошибка при синтаксическом анализе пакета (или there was an error parsing the package в эмуляторе/устройстве на английском языке).

Способ 4: Отключить антивирус

Синтаксическая ошибка также может произойти, если ваша антивирусная программа блокирует установку
. Большинство антивирусов пытаются блокировать установку приложений, которые на их взгляд могут выглядеть ненадежными или подозрительными. Так что, если вы пытаетесь установить.apk файл, причина появления ошибки, возможно, кроется в том, что ваше антивирусное приложение блокирует файл.apk, предотвращая установку «подозрительного» софта. Попробуйте временно отключить антивирус и попытаться установить файл.apk. Если причина угадана верно, установка пройдет без проблем и сообщений об ошибке при синтаксическом анализе пакета андроид.

Если ничего не помогло

Если все описанные методы не помогли устранить ошибку при синтаксическом анализе пакета Андроид, стоит обратить внимание на само скачиваемое приложение. Существует вероятность того, что разработчик собрал его из некачественных «битых» файлов либо допустил ошибку при написании кода.

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

Вячеслав

Несколько лет работал в салонах сотовой связи двух крупных операторов. Хорошо разбираюсь в тарифах и вижу все подводные камни. Люблю гаджеты, особенно на Android.

Задать вопрос

Вопрос эксперту

Когда появляется ошибка при синтаксическом анализе пакета Андроид?

В процессе установки какой-либо программы, если происходит сбой на любом этапе.

Можно ли устранить проблему своими силами?

Вполне, если выяснить причину и применить один из описанных выше методов.

Что делать, если ни один описанный вариант не дал положительного результата?

Проверить работоспособность приложения, поинтересовавшись, удалось ли кому-нибудь установить его на своем смартфоне.

4.6 / 5 ( 28 голосов )

Способ 6: Несовместимость приложения

Некоторые программы не поддерживают устаревшие версии операционной системы Android. Ряд приложений несовместим с устаревшей аппаратной частью устройства
. В обоих случаях при попытке установки приложения вы получаете сообщение об ошибке синтаксического анализа пакета Android. Например, когда вы пытаетесь установить приложение, которое требует и выше, на смартфон с . Чтобы не попасть в подобную ситуацию, внимательно читайте описание приложения на Google Play Маркет, особенно в той его части, где приведены системные требования.

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

Как исправить проблему?

Нередки ситуации, когда у пользователей возникает сбой разбора пакета андроид, что делать в данной ситуации подскажут не только интернет ресурсы, но и сервисные центры, если телефон находится на гарантии.

Решение этой проблемы может быть достаточно простым:

  1. Для начала необходимо разрешить установку приложений из всех известных источников. Как правило, все смартфоны предрасположены к скачиванию приложений из , но если этот же документ находится на другом источнике, то телефон может выдать ошибку.
  2. Лучше всего устанавливать из Google Play, даже не смотря на то, что многие из них запрашивают получение лишней информации. Причиной этому является то, что файлы на посторонних ресурсах зачастую непроверенны, а поэтому некие повреждения и недочеты на них — распространенная проблема.
  3. Если версия андроид не совместима с выбранным приложением, то достаточно попробовать установить его на другой смартфон с более “свежим” обновлением операционной системы.

Сбой разбора пакета андороид — распространенная проблема многих смартфонов, которую можно решить в несколько кликов. Если же самостоятельно разобраться с возникнувшими неполадками не получается, то необходимо обратиться в сервисный центр для получения более детальной информации.

Давайте сейчас разберемся в причинах появления на Андроиде сообщения «Сбой разбора пакета при установке …» и что делать в таком случае.

Данная статья подходит для всех брендов, выпускающих телефоны на Android 10/9/8/7: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.

Внимание! Вы можете задать свой вопрос специалисту в конце статьи.

«Сбой разбора пакета» на гаджетах Андроид является распространенной ошибкой. Ее можно решить путем совершения нескольких тапов в настройках устройства. Достаточно скачивать только официальные версии приложений, активировать возможность инсталлировать софт из сторонних источников и внимательно читать системные требования приложений.

Обзор популярных редакторов АРК файлов

Перед тем, как редактировать APK файлы на компьютере, потребуется, конечно, скачать необходимый набор инструментов. Как ни странно, но самый простейший из них находится под рукой практически у каждого. Это самый обычный архиватор Win RAR, либо аналогичный ему. Ведь что такое АРК файл? Это обыкновенный архив, в котором запакованы те или иные программные ресурсы для мобильного приложения. Так что можно просто его распечатать и компьютерным архиватором.

Но для более серьезного редактирования потребуется пользоваться и более продвинутыми программами. Сегодня имеется немало из таких. Вот лишь самые популярные:

  • APK Editor;
  • APK Downloader;
  • Android SDK;
  • Eclipse.

В принципе, при желании можно отыскать и множество других инструментов.

Программа APK Editor представляет собой вполне профессиональный набор всего необходимого инструментария для редактирования АРК файлов. С его помощью можно даже взламывать мобильные приложения. Конечно, для этого потребуются определенные знания и навыки, но в комплекте с редактором идут типичные примеры, которые помогут новичку быстро освоиться.

apk editor pro для windows

APK Downloader – собственно говоря, это не столько среда для разработки, сколько надстройка на популярный браузер Google Chrome. Так что можно будет прямо в браузерном окне просматривать и вносить изменения в АРК файл.

Android SDK. А вот это уже довольно серьезная программа для настоящих профессионалов. Позволяет с нуля создавать собственные мобильные разработки, а не только вскрывать чужие файлы. В зависимости от комплектации, модули могут быть здесь различными. Имеется также встроенный эмулятор с отладчиком. Приложение Android SDK может быть запущено не только на ОС Windows. Существуют версии этой программы и для Мас, и для Linux. Функционал этих версий схож между собой. Так что именно этот инструмент рекомендуется самому широкому кругу разработчиков.

Особенности

Программа представляет собой профессиональную утилиту, которая в руках продвинутых пользователей может стать мощным инструментом для редактирования приложений для android. Функционал практически не отличается от аналогичного программного обеспечения для персональных компьютеров.

Что умеет данная утилита?

  1. Изменять (переводить) названия других приложений.
  2. Изменять макеты архитектуры, цвета, шаблоны графических настроек (например, размер иконок).
  3. Изменять звуковое оформление, медиафайлы.
  4. Удалять рекламу.
  5. Обходить блокировку платного контента.
  6. Переносить приложение из внутренней памяти устройства на SD-карту.
  7. Изменять разрешение и многое другое.

Чтобы понять, как пользоваться утилитой, необходимо скачать apk editor pro и зайти в меню. Затем выбрать либо уже установленное приложение на андроиде, либо его apk файл. После этого по умолчанию откроются данные, которые пользователь может изменить:

  • редактирование ресурсов;
  • замена файлов;
  • общее редактирование;
  • редактирование данных.

Программа предложит установить измененный вариант. Не во всех случаях это срабатывает, поэтому старая версия должна быть удалена вручную и установлена новая. После удаления следует выбрать папку apk editor (для удобства можно воспользоваться ES Проводником) среди программ на андроиде и найти измененный файл приложения, установить его на устройство.

Программа отличается удобным интерфейсом. Навигация довольно проста, но пользователю необходимо иметь базовые знания английского, чтобы разобраться.

Аббревиатура APK раскрывается как Android Package Kit – исполняемый пакет файлов для Android-приложений. Это архив, содержащий скомпилированные и готовые к исполнению коды и другие ресурсы. apk-файлы хранятся на сайтах Интернета, вроде Google Play, откуда их можно скачать и установить в свой гаджет. Они не подвергаются шифровке.

Его структура подготовлена разработчиком для запуска в среде виртуальной машины Dalvik или ART. Эти машины встроены в ОС Андроид, они-то и запускают все приложения, которые есть на вашем устройстве.

apk editor pro для windows

Сам файл apk является обычным архивом, который вы можете открыть любым архиватором в среде Windows. Например, WinRAR, или файловым менеджером, который открывает ZIP-архивы. Давайте посмотрим, что же там внутри находится.

  • Исполняемый файл с расширением dex (имя может быть любое), который как раз и является кодом программы.
  • Рядом с ним лежит resources.arsc, это реестр ресурсов, которые должна использовать программа. Это структура в формате XML.
  • AndroidManifest.xml – это обязательный файл любой программы, манифест, содержащий главные сведения о ней. Здесь могут быть записаны, например, версия программы, требуемая версия Андроида, данные о разработчике, необходимые разрешения экрана, и так далее.
  • Каталог res содержит внутренние ресурсы, которые нужны программе для работы. Здесь могут быть все картинки, значки, иконки, карты, и так далее.
  • Каталог lib – нативные библиотеки для работы программы, например, код на C++. Этот каталог может отсутствовать, если библиотеки не используются.
  • Каталог assets – дополнительные ресурсы для приложения, также иногда может отсутствовать. Какие именно ресурсы должны использоваться, описано в файле resources.arsc.
  • Каталог META-INF – метаданные программы. Например, файл MANIFEST.MF, в котором могут быть пути к данным и их контрольные суммы. Здесь могут храниться файлы сертификатов RSA, сведения о версии Manifest-Version и тому подобная служебная информация.

Достоинства и недостатки

  1. Программа открывает перед пользователем широкий спектр возможностей по настройке приложений.
  2. В меню присутствует раздел Помощь, который просто и подробно описывает большой объем возможностей программы эдитор. Поэтому пользователям, далеким от программирования, не придется искать на сторонних ресурсах примеры и инструкции редактирования.
  3. Вы можете скачать бесплатно программу на нашем сайте.

Пользование этой утилитой требует некоторых навыков и знаний. В руках неопытного пользователя редактирование может привести к нарушениям целостности файловой системы, что в конечном итоге приведет к сбоям в работе приложений. В меню в пункте Помощь присутствуют примеры преобразования с картинками и советы по правильному использованию apk editor pro на андроид. Поэтому, если возникнет желание разобраться с этой программой, достаточно просто следовать инструкциям.

Эдитор – достаточно полезный инструмент для тех, кто сталкивается с неудобным интерфейсом приложений (отсутствие русского языка, постоянная реклама, баннеры и др.). Если Вы уже пользовались этой программой, поделитесь своими впечатлениями ниже в комментариях.

Иногда некоторые приложения на Android чем-то не устраивают пользователя. В качестве примера можно привести назойливую рекламу. А то бывает и так — всем хороша программа, да только перевод в ней или кривой, или вовсе отсутствует. Или, например, программа триальная, а получить полную версию возможности нет. Как же изменить ситуацию?

Обзор популярных редакторов АРК файлов

Как уже говорилось, распаковать apk-файл можно любым ZIP-архиватором. После этого можно будет просматривать хранящиеся там ресурсы.

С изображениями не будет проблем совсем, их можно открывать в любой соответствующей программе. Формат XML открывается любым текстовым редактором, например, Notepad++. Если знать, как устроен этот формат, то их уже можно редактировать. Но для скомпилированных исполняемых файлов придётся применять специальные средства.

apk editor pro для windows

Редактор Eclipse. Это полноценная кроссплатформенная среда для программиста. Можно вести разработку на любых современных языках и готовить исполняемые файлы, в том числе и для Андроида. Среда может гибко настраиваться с помощью многочисленных плагинов.

Android SDK. Как ясно из названия, это специализированное средство для разработки мобильных программ именно под Андроид. С его помощью можно легко декомпилировать исполняемые файлы чужого приложения, или написать собственное с нуля. Отличается тем, что по желанию подключает различные модули для отладки и тестирования вашего кода, для тестирования программ на совместимость с разными гаджетами, и так далее.

APK downloader. Это плагин для браузера Chrome, позволяющий очень легко скачивать apk-программы с любых сайтов и просматривать их структуру. Для этого можно даже быть не зарегистрированным на Google Play.

APK Editor. Редактор, позволяющий работать с ресурсами внутри apk-пакетов. Не настолько мощный, как Eclipse, но решающий множество простых задач. Например, можно убрать рекламные блоки из программы, русифицировать интерфейс, заменить значки или текстуры на свои, и многое другое.

Просмотр и модификация

Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:

  • архиватор ZIP
    для распаковки и запаковки;
  • smali
    — ассемблер/дизассемблер байт-кода виртуальной машины Dalvik (code.google.com/p/smali);
  • aapt
    — инструмент для запаковки ресурсов (по умолчанию ресурсы хранятся в бинарном виде для оптимизации производительности приложения). Входит в состав Android SDK, но может быть получен и отдельно;
  • signer
    — инструмент для цифровой подписи модифицированного пакета (bit.ly/Rmrv4M).

Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в Linux или Mac OS X, то тут есть инструмент под названием apktool . Он позволяет распаковывать ресурсы в оригинальный вид (в том числе бинарные XML- и arsc-файлы), пересобирать пакет с измененными ресурсами, но не умеет подписывать пакеты, так что запускать утилиту signer придется вручную. Несмотря на то что утилита написана на Java, ее установка достаточно нестандартна. Сначала следует получить сам jar-файл:

$ cd /tmp $ wget https://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget https://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Если же ты работаешь в Windows, то для нее есть превосходный инструмент под названиемVirtuous Ten Studio , который также аккумулирует в себе все эти инструменты (включая сам apktool), но вместо CLI-интерфейса предоставляет пользователю интуитивно понятный графический интерфейс, с помощью которого можно выполнять операции по распаковке, дизассемблированию и декомпиляции в несколько кликов. Инструмент этот Donation-ware, то есть иногда появляются окошки с предложением получить лицензию, но это, в конце концов, можно и потерпеть. Описывать его не имеет никакого смысла, потому что разобраться в интерфейсе можно за несколько минут. А вот apktool, вследствие его консольной природы, следует обсудить подробнее.

Рассмотрим опции apktool. Если вкратце, то имеются три основные команды: d (decode), b (build) и if (install framework). Если с первыми двумя командами все понятно, то что делает третья, условный оператор? Она распаковывает указанный UI-фреймворк, который необходим в тех случаях, когда ты препарируешь какой-либо системный пакет.

Рассмотрим наиболее интересные опции первой команды:

  • -s
    — не дизассемблировать файлы dex;
  • -r
    — не распаковывать ресурсы;
  • -b
    — не вставлять отладочную информацию в результаты дизассемблирования файла dex;
  • —frame-path
    — использовать указанный UI-фреймворк вместо встроенного в apktool. Теперь рассмотрим пару опций для команды b:
  • -f
    — форсированная сборка без проверки изменений;
  • -a
    — указываем путь к aapt (средство для сборки APK-архива), если ты по какой-то причине хочешь использовать его из другого источника.

Пользоваться apktool очень просто, для этого достаточно указать одну из команд и путь до APK, например:

$ apktool d mail.apk

После этого в каталоге mail появятся все извлеченные и дизассемблированные файлы пакета.

Free APK editor for PC and Mac.

Open source. Cross-platform.

    Change Android app icon Change Android app title Edit APK resources Sign APK Install APK

INFO

Так как мы подписали пакет нашим собственным ключом, он будет конфликтовать с оригинальным приложением, а это значит, что при попытке обновить софтину через маркет мы получим ошибку.

Цифровая подпись необходима только стороннему софту, поэтому если ты занимаешься модификацией системных приложений, которые устанавливаются копированием в каталог /system/app/, то подписывать их не нужно.

После этого скидываем пакет на смартфон, устанавливаем и запускаем. Вуаля, реклама пропала! Вместо нее, однако, появилось сообщение, что у нас нет интернета или отсутствуют соответствующие разрешения. По идее, этого могло бы и хватить, но сообщение выглядит раздражающе, да и, если честно, нам просто повезло с тупым приложением. Нормально написанная софтина, скорее всего, уточнит свои полномочия или проверит наличие интернет-соединения и в противном случае просто откажется запускаться. Как быть в этом случае? Конечно, править код.

Обычно авторы приложений создают специальные классы для вывода рекламы и вызывают методы этих классов во время запуска приложения или одной из его «активностей» (упрощенно говоря, экранов приложения). Попробуем найти эти классы. Идем в каталог smali, далее com (в org лежит только открытая графическая библиотека cocos2d), далее kauf (именно туда, потому что это имя разработчика и там лежит весь его код) — и вот он, каталог marketing. Внутри находим кучу файлов с расширением smali. Это классы, и наиболее примечателен из них класс Ad.smali, по названию которого нетрудно догадаться, что именно он выводит рекламу.

Мы могли бы изменить логику его работы, но гораздо проще будет тупо убрать вызовы любых его методов из самого приложения. Поэтому выходим из каталога marketing и идем в соседний каталог particle, а затем в virtualtorch. Особого внимания здесь заслуживает файл MainActivity.smali. Это стандартный для Android класс, который создается Android SDK и устанавливается в качестве точки входа в приложение (аналог функции main в Си). Открываем файл на редактирование.

Внутри находится код smali (местный ассемблер). Он довольно запутанный и трудный для чтения в силу своей низкоуровневой природы, поэтому мы не будем его изучать, а просто найдем все упоминания класса Ad в коде и закомментируем их. Вбиваем строку «Ad» в поиске и попадаем на строку 25:

Field private ad:Lcom/kauf/marketing/Ad;

Здесь создается поле ad для хранения объекта класса Ad. Комментируем с помощью установки знака ### перед строкой. Продолжаем поиск. Строка 423:

New-instance v3, Lcom/kauf/marketing/Ad;

Здесь происходит создание объекта. Комментируем. Продолжаем поиск и находим в строках 433, 435, 466, 468, 738, 740, 800 и 802 обращения к методам класса Ad. Комментируем. Вроде все. Сохраняем. Теперь пакет необходимо собрать обратно и проверить его работоспособность и наличие рекламы. Для чистоты эксперимента возвращаем удаленную из AndroidManifest.xml строку, собираем пакет, подписываем и устанавливаем.

Наш подопытный кролик. Видна реклама

Оп-па! Реклама пропала только во время работы приложения, но осталась в главном меню, которое мы видим, когда запускаем софтину. Так, подождите, но ведь точка входа — это класс MainActivity, а реклама пропала во время работы приложения, но осталась в главном меню, значит, точка входа другая? Чтобы выявить истинную точку входа, вновь открываем файл AndroidManifest.xml. И да, в нем есть следующие строки:

Они говорят нам (и, что важнее, андроиду) о том, что активность с именем Start должна быть запущена в ответ на генерацию интента (события) android.intent.action.MAIN из категории android.intent.category.LAUNCHER. Это событие генерируется при тапе на иконку приложения в ланчере, поэтому оно и определяет точку входа, а именно класс Start. Скорее всего, программист сначала написал приложение без главного меню, точкой входа в которое был стандартный класс MainActivity, а затем добавил новое окно (активность), содержащее меню и описанное в классе Start, и вручную сделал его точкой входа.

Открываем файл Start.smali и вновь ищем строку «Ad», находим в строках 153 и 155 упоминание класса FirstAd. Он тоже есть в исходниках и, судя по названию, как раз и отвечает за показ объявлений на главном экране. Смотрим дальше, идет создание экземпляра класса FirstAd и интента, по контексту имеющего отношение к этому экземпляру, а дальше метка cond_10, условный переход на которую осуществляется аккурат перед созданием экземпляра класса:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; … :cond_10

Скорее всего, программа каким-то случайном образом вычисляет, нужно ли показывать рекламу на главном экране, и, если нет, перескакивает сразу на cond_10. Ок, упростим ей задачу и заменим условный переход на безусловный:

#if-ne p1, v0, :cond_10 goto:cond_10

Больше упоминаний FirstAd в коде нет, поэтому закрываем файл и вновь собираем наш виртуальный факел с помощью apktool. Копируем на смартфон, устанавливаем, запускаем. Вуаля, вся реклама исчезла, с чем нас всех и поздравляем.

Features

APK icons are automatically detected by APK Editor Studio so you can change application icon in no time.

Change application title as you wish including the translations into different languages.

View and replace images. Automatic conversion between PNG, SVG, JPEG, BMP, ICO, GIF and many other formats.

Internal text editor comes with a syntax highlighter for XML and YAML formats.

Intelligent resource inspector groups APK resources by qualifiers for you to comfortably browse through them.

Central hub for editing APK: quickly reach the most used and relevant actions.

Edit the most important Android manifest properties without the need to dig into its internal structure.

APK is automatically optimized after packing to improve its stability and decrease the RAM usage.

Automatically sign APK file either using the default key or providing your own through the key manager.

Install APK on your device in one click. Easily manage your devices for a quicker access.

Препарирование. Отключаем рекламу

Теория — это, конечно, хорошо, но зачем она нужна, если мы не знаем, что делать с распакованным пакетом? Попробуем применить теорию с пользой для себя, а именно модифицируем какую-нибудь софтину так, чтобы она не показывала нам рекламу. Для примера пусть это будет Virtual Torch — виртуальный факел. Для нас эта софтина подойдет идеально, потому что она под завязку набита раздражающей рекламой и к тому же достаточно проста, чтобы не потеряться в дебрях кода.

Итак, с помощью одного из приведенных способов скачай приложение из маркета . Если ты решил использовать Virtuous Ten Studio, просто открой APK-файл в приложении и распакуй его, для чего создай проект (File -> New project), затем в контекстном меню проекта выбери Import File. Если же твой выбор пал на apktool, то достаточно выполнить одну команду:

$ apktool d com.kauf.particle.virtualtorch.apk

После этого в каталоге com.kauf.particle.virtualtorch появится файловое дерево, похожее на описанное в предыдущем разделе, но с дополнительным каталогом smali вместо dex-файлов и файлом apktool.yml. Первый содержит дизассемблированный код исполняемого dex-файла приложения, второй — служебную информацию, необходимую apktool для сборки пакета обратно.

Первое место, куда мы должны заглянуть, — это, конечно же, AndroidManifest.xml. И здесь мы сразу встречаем следующую строку:

Нетрудно догадаться, что она отвечает за предоставление приложению полномочий на использование интернет-соединения. По сути, если мы хотим просто избавиться от рекламы, нам, скорее всего, достаточно будет запретить приложению интернет. Попытаемся это сделать. Удаляем указанную строку и пробуем собрать софтину с помощью apktool:

$ apktool b com.kauf.particle.virtualtorch

В каталоге com.kauf.particle.virtualtorch/build/ появится результирующий APK-файл. Однако установить его не получится, так как он не имеет цифровой подписи и контрольных сумм файлов (в нем просто нет каталога META-INF/). Мы должны подписать пакет с помощью утилиты apk-signer. Запустили. Интерфейс состоит из двух вкладок — на первой (Key Generator) создаем ключи, на второй (APK Signer) подписываем. Чтобы создать наш приватный ключ, заполняем следующие поля:

  • Target File
    — выходной файл хранилища ключей; в нем обычно хранится одна пара ключей;
  • Password
    и
    Confirm
    — пароль для хранилища;
  • Alias
    — имя ключа в хранилище;
  • Alias password
    и
    Confirm
    — пароль секретного ключа;
  • Validity
    — срок действия (в годах). Значение по умолчанию оптимально.

Остальные поля, в общем-то, необязательны — но необходимо заполнить хотя бы одно.

  • Ошибка упаковка зарезервирована 1с больничная аптека
  • Ошибка универсальный аудиодрайвер как исправить
  • Ошибка универсальный аудио драйвер для windows 10 как исправить
  • Ошибка унб стиральная машинка хаер
  • Ошибка указано слишком длинное имя файла