diff --git a/bin/templates/cordova/lib/build.js b/bin/templates/cordova/lib/build.js index aa9f3d01..bbcf1714 100644 --- a/bin/templates/cordova/lib/build.js +++ b/bin/templates/cordova/lib/build.js @@ -69,12 +69,13 @@ function isAutoGenerated(file) { function findOutputApksHelper(dir, build_type, arch) { var ret = findApks(dir).filter(function(candidate) { + var apkName = path.basename(candidate); // Need to choose between release and debug .apk. if (build_type === 'debug') { - return /-debug/.exec(candidate) && !/-unaligned|-unsigned/.exec(candidate); + return /-debug/.exec(apkName) && !/-unaligned|-unsigned/.exec(apkName); } if (build_type === 'release') { - return /-release/.exec(candidate) && !/-unaligned/.exec(candidate); + return /-release/.exec(apkName) && !/-unaligned/.exec(apkName); } return true; }); @@ -83,16 +84,16 @@ function findOutputApksHelper(dir, build_type, arch) { return ret; } // Assume arch-specific build if newest apk has -x86 or -arm. - var archSpecific = !!/-x86|-arm/.exec(ret[0]); + var archSpecific = !!/-x86|-arm/.exec(path.basename(ret[0])); // And show only arch-specific ones (or non-arch-specific) ret = ret.filter(function(p) { /*jshint -W018 */ - return !!/-x86|-arm/.exec(p) == archSpecific; + return !!/-x86|-arm/.exec(path.basename(p)) == archSpecific; /*jshint +W018 */ }); if (archSpecific && ret.length > 1) { ret = ret.filter(function(p) { - return p.indexOf('-' + arch) != -1; + return path.basename(p).indexOf('-' + arch) != -1; }); } @@ -632,16 +633,18 @@ module.exports.detectArchitecture = function(target) { module.exports.findBestApkForArchitecture = function(buildResults, arch) { var paths = buildResults.apkPaths.filter(function(p) { + var apkName = path.basename(p); if (buildResults.buildType == 'debug') { - return /-debug/.exec(p); + return /-debug/.exec(apkName); } - return !/-debug/.exec(p); + return !/-debug/.exec(apkName); }); var archPattern = new RegExp('-' + arch); var hasArchPattern = /-x86|-arm/; for (var i = 0; i < paths.length; ++i) { - if (hasArchPattern.exec(paths[i])) { - if (archPattern.exec(paths[i])) { + var apkName = path.basename(paths[i]); + if (hasArchPattern.exec(apkName)) { + if (archPattern.exec(apkName)) { return paths[i]; } } else {