summaryrefslogtreecommitdiffstats
path: root/core/java/android/content
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-07-15 20:18:34 -0700
committerJeff Sharkey <jsharkey@android.com>2014-07-15 20:18:39 -0700
commit78a130144bdd047665f00782c481d31edb3e5fb7 (patch)
treeef9e2bc4e6e7e962cd6a5dbb80ae7c6e1ab17e98 /core/java/android/content
parentda96e137bcc8191c584ada7b5de31eaae92f244f (diff)
downloadframeworks_base-78a130144bdd047665f00782c481d31edb3e5fb7.zip
frameworks_base-78a130144bdd047665f00782c481d31edb3e5fb7.tar.gz
frameworks_base-78a130144bdd047665f00782c481d31edb3e5fb7.tar.bz2
Mark resource-only splits as hasCode=false.
PackageManagerService now skips dexopt for split APKs that don't declare they have code. Also surface more detailed error messages in logs. Bug: 14975160 Change-Id: Ie6078dba724815020cee59b7fc52317e88ca097a
Diffstat (limited to 'core/java/android/content')
-rw-r--r--core/java/android/content/pm/PackageParser.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index d41cca6..43c2b15 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -846,7 +846,7 @@ public class PackageParser {
throw e;
} catch (Exception e) {
throw new PackageParserException(INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION,
- "Unable to read AndroidManifest.xml of " + apkPath);
+ "Failed to read manifest from " + apkPath, e);
} finally {
IoUtils.closeQuietly(parser);
IoUtils.closeQuietly(assets);
@@ -895,7 +895,7 @@ public class PackageParser {
throw e;
} catch (Exception e) {
throw new PackageParserException(INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION,
- "Unable to read AndroidManifest.xml of " + apkPath);
+ "Failed to read manifest from " + apkPath, e);
} finally {
IoUtils.closeQuietly(parser);
IoUtils.closeQuietly(assets);
@@ -910,9 +910,13 @@ public class PackageParser {
* omitted here.
*/
private Package parseSplitApk(Package pkg, Resources res, XmlResourceParser parser, int flags,
- int splitIndex, String[] outError) throws XmlPullParserException, IOException {
+ int splitIndex, String[] outError) throws XmlPullParserException, IOException,
+ PackageParserException {
AttributeSet attrs = parser;
+ // We parsed manifest tag earlier; just skip past it
+ parsePackageSplitNames(parser, attrs, flags);
+
mParseInstrumentationArgs = null;
mParseActivityArgs = null;
mParseServiceArgs = null;