NativeScript / NativeScript/nativescript-cli

Error is: The parser encountered some structural problem in the manifest.

Open
#5,639 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug-pending-triage
Dominant language
JavaScript
Stars
1.1k
Forks
204
Avg merge
1d 9h
Merged PRs (30d)
8

Description

Issue Description

Run the app with ns run android

You ll get a cryptic error at the end

Unable to apply changes on device: emulator-5554. Error is: The parser encountered some structural problem in the manifest..

The log below shows the actual error which should be brought back up to the user:

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1130854405.tmp/base.apk (at Binary XML file line #30): com.tns.NativeScriptActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present
Reproduction

Run an app with a manifest not ready for android S

Relevant log output (if applicable)
d/app/build/outputs/apk/debug/app-debug.apk"
Result when throw error is false:
{
  stdout: 'Performing Streamed Install\n',
  stderr: 'adb: failed to install /Volumes/dev/nativescript/nativescript-material-components/demo-vue/platforms/android/app/build/outputs/apk/debug/app-debug.apk: Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1130854405.tmp/base.apk (at Binary XML file line #30): com.tns.NativeScriptActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]\n',
  exitCode: 1
}
Error name: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED result code: -108
The parser encountered some structural problem in the manifest.
Unable to apply changes on device: emulator-5554. Error is: The parser encountered some structural problem in the manifest..
Environment
npm ERR! cb.apply is not a function

npm ERR! A complete log of this run can be found in:
npm ERR!     /Volumes/data/mguillon/.npm/_logs/2022-03-02T20_01_11_386Z-debug.log
Install for [ 'nativescript-envinfo@latest' ] failed with code 1
Please accept these terms

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the reported ns run android command with a manifest that is not ready for Android S and compare the CLI output with the adb stderr shown in the issue. Trace where the INSTALL_PARSE_FAILED_MANIFEST_MALFORMED result is converted into the generic parser message; done when the actionable Android installation error is surfaced to the user.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, javascript
Domain
cli, mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.