[
https://issues.apache.org/jira/browse/CB-10600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198416#comment-15198416
]
ASF GitHub Bot commented on CB-10600:
-------------------------------------
Github user dblotsky commented on a diff in the pull request:
https://github.com/apache/cordova-android/pull/276#discussion_r56434511
--- Diff: bin/templates/cordova/lib/emulator.js ---
@@ -363,8 +363,14 @@ module.exports.install = function(givenTarget,
buildResults) {
if (err) reject(new CordovaError('Error executing
"' + command + '": ' + stderr));
// adb does not return an error code even if
installation fails. Instead it puts a specific
// message to stdout, so we have to use RegExp
matching to detect installation failure.
- else if (/Failure/.test(stdout)) reject(new
CordovaError('Failed to install apk to emulator: ' + stdout));
- else resolve(stdout);
+ else if (/Failure/.test(stdout)) {
+ if
(stdout.match(/INSTALL_PARSE_FAILED_NO_CERTIFICATES/)) {
+ stdout += 'Sign the build using \'--
--keystore\' or \'--buildConfig\'' +
+ ' or sign and deploy the unsigned apk
manually using Android tools.';
+ }
+
+ reject(new CordovaError('Failed to install apk
to emulator: ' + stdout));
+ } else resolve(stdout);
--- End diff --
Cool. Thanks for explaining. Do you have the context on this task in order
to file a JIRA? If not, I'll read up and file it.
> 'cordova run android --release' does not use signed and zip-aligned version
> of APK
> ----------------------------------------------------------------------------------
>
> Key: CB-10600
> URL: https://issues.apache.org/jira/browse/CB-10600
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android
> Environment: Tested on Windows 8.1 with Cordova CLI 6.0.0 (and Ionic
> CLI 1.7.14)
> Reporter: Eric Gopak
> Assignee: Joe Bowser
> Priority: Minor
> Labels: triaged
>
> Running command `cordova run android --release` builds the app successfully,
> both unsigned and signed/zip-aligned versions. However, it then tries to use
> the unsigned version of the APK. Here are the last lines of the output:
> .....
> BUILD SUCCESSFUL
> Total time: 31.35 secs
> Built the following apk(s):
>
> C:/XXXXX/platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk
> C:/XXXXX/platforms/android/build/outputs/apk/android-armv7-release.apk
> Using apk:
> C:/XXXXX/platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk
> ERROR running one or more of the platforms: Failed to install apk to device:
> pkg: /data/local/tmp/android-armv7-release-unsigned.apk
> Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
> You may not have the required environment or OS to run this project
> It has worked before I updated Cordova with 'npm install -g cordova'.
> I specify signing properties in a file 'release-signing.properties', which I
> copy to platforms/android/ folder. During the run/build I get prompted for
> the password, just as it has always been.
> I believe it is just a problem of choosing the wrong APK from the list of
> built APKs (Cordova probably chooses the one that comes earlier
> lexicographically)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]