mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-07 23:03:11 +08:00
CB-7881 Android tooling shouldn't lock application directory
Close #130
This commit is contained in:
parent
ba140a8a84
commit
268fea58ee
3
bin/templates/cordova/lib/build.js
vendored
3
bin/templates/cordova/lib/build.js
vendored
@ -24,6 +24,7 @@ var shell = require('shelljs'),
|
|||||||
Q = require('q'),
|
Q = require('q'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
fs = require('fs'),
|
fs = require('fs'),
|
||||||
|
os = require('os'),
|
||||||
ROOT = path.join(__dirname, '..', '..');
|
ROOT = path.join(__dirname, '..', '..');
|
||||||
var check_reqs = require('./check_reqs');
|
var check_reqs = require('./check_reqs');
|
||||||
var exec = require('./exec');
|
var exec = require('./exec');
|
||||||
@ -400,7 +401,7 @@ module.exports.run = function(options, optResolvedTarget) {
|
|||||||
*/
|
*/
|
||||||
module.exports.detectArchitecture = function(target) {
|
module.exports.detectArchitecture = function(target) {
|
||||||
function helper() {
|
function helper() {
|
||||||
return exec('adb -s ' + target + ' shell cat /proc/cpuinfo')
|
return exec('adb -s ' + target + ' shell cat /proc/cpuinfo', os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
if (/intel/i.exec(output)) {
|
if (/intel/i.exec(output)) {
|
||||||
return 'x86';
|
return 'x86';
|
||||||
|
9
bin/templates/cordova/lib/device.js
vendored
9
bin/templates/cordova/lib/device.js
vendored
@ -22,6 +22,7 @@
|
|||||||
var exec = require('./exec'),
|
var exec = require('./exec'),
|
||||||
Q = require('q'),
|
Q = require('q'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
|
os = require('os'),
|
||||||
build = require('./build'),
|
build = require('./build'),
|
||||||
appinfo = require('./appinfo'),
|
appinfo = require('./appinfo'),
|
||||||
ROOT = path.join(__dirname, '..', '..');
|
ROOT = path.join(__dirname, '..', '..');
|
||||||
@ -32,7 +33,7 @@ var exec = require('./exec'),
|
|||||||
*/
|
*/
|
||||||
module.exports.list = function(lookHarder) {
|
module.exports.list = function(lookHarder) {
|
||||||
function helper() {
|
function helper() {
|
||||||
return exec('adb devices')
|
return exec('adb devices', os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
var response = output.split('\n');
|
var response = output.split('\n');
|
||||||
var device_list = [];
|
var device_list = [];
|
||||||
@ -100,19 +101,19 @@ module.exports.install = function(target, buildResults) {
|
|||||||
console.log('Using apk: ' + apk_path);
|
console.log('Using apk: ' + apk_path);
|
||||||
console.log('Installing app on device...');
|
console.log('Installing app on device...');
|
||||||
var cmd = 'adb -s ' + resolvedTarget.target + ' install -r "' + apk_path + '"';
|
var cmd = 'adb -s ' + resolvedTarget.target + ' install -r "' + apk_path + '"';
|
||||||
return exec(cmd)
|
return exec(cmd, os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
if (output.match(/Failure/)) return Q.reject('ERROR: Failed to install apk to device: ' + output);
|
if (output.match(/Failure/)) return Q.reject('ERROR: Failed to install apk to device: ' + output);
|
||||||
|
|
||||||
//unlock screen
|
//unlock screen
|
||||||
var cmd = 'adb -s ' + resolvedTarget.target + ' shell input keyevent 82';
|
var cmd = 'adb -s ' + resolvedTarget.target + ' shell input keyevent 82';
|
||||||
return exec(cmd);
|
return exec(cmd, os.tmpdir());
|
||||||
}, function(err) { return Q.reject('ERROR: Failed to install apk to device: ' + err); })
|
}, function(err) { return Q.reject('ERROR: Failed to install apk to device: ' + err); })
|
||||||
.then(function() {
|
.then(function() {
|
||||||
// launch the application
|
// launch the application
|
||||||
console.log('Launching application...');
|
console.log('Launching application...');
|
||||||
var cmd = 'adb -s ' + resolvedTarget.target + ' shell am start -W -a android.intent.action.MAIN -n ' + launchName;
|
var cmd = 'adb -s ' + resolvedTarget.target + ' shell am start -W -a android.intent.action.MAIN -n ' + launchName;
|
||||||
return exec(cmd);
|
return exec(cmd, os.tmpdir());
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
console.log('LAUNCH SUCCESS');
|
console.log('LAUNCH SUCCESS');
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
|
15
bin/templates/cordova/lib/emulator.js
vendored
15
bin/templates/cordova/lib/emulator.js
vendored
@ -23,6 +23,7 @@ var shell = require('shelljs'),
|
|||||||
exec = require('./exec'),
|
exec = require('./exec'),
|
||||||
Q = require('q'),
|
Q = require('q'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
|
os = require('os'),
|
||||||
appinfo = require('./appinfo'),
|
appinfo = require('./appinfo'),
|
||||||
build = require('./build'),
|
build = require('./build'),
|
||||||
ROOT = path.join(__dirname, '..', '..'),
|
ROOT = path.join(__dirname, '..', '..'),
|
||||||
@ -108,7 +109,7 @@ module.exports.best_image = function() {
|
|||||||
|
|
||||||
// Returns a promise.
|
// Returns a promise.
|
||||||
module.exports.list_started = function() {
|
module.exports.list_started = function() {
|
||||||
return exec('adb devices')
|
return exec('adb devices', os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
var response = output.split('\n');
|
var response = output.split('\n');
|
||||||
var started_emulator_list = [];
|
var started_emulator_list = [];
|
||||||
@ -123,7 +124,7 @@ module.exports.list_started = function() {
|
|||||||
|
|
||||||
// Returns a promise.
|
// Returns a promise.
|
||||||
module.exports.list_targets = function() {
|
module.exports.list_targets = function() {
|
||||||
return exec('android list targets')
|
return exec('android list targets', os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
var target_out = output.split('\n');
|
var target_out = output.split('\n');
|
||||||
var targets = [];
|
var targets = [];
|
||||||
@ -201,7 +202,7 @@ module.exports.start = function(emulator_ID) {
|
|||||||
console.log('BOOT COMPLETE');
|
console.log('BOOT COMPLETE');
|
||||||
|
|
||||||
//unlock screen
|
//unlock screen
|
||||||
return exec('adb -s ' + emulator_id + ' shell input keyevent 82');
|
return exec('adb -s ' + emulator_id + ' shell input keyevent 82', os.tmpdir());
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
//return the new emulator id for the started emulators
|
//return the new emulator id for the started emulators
|
||||||
return emulator_id;
|
return emulator_id;
|
||||||
@ -231,7 +232,7 @@ module.exports.wait_for_emulator = function(num_running) {
|
|||||||
*/
|
*/
|
||||||
module.exports.wait_for_boot = function(emulator_id) {
|
module.exports.wait_for_boot = function(emulator_id) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return exec('adb -s ' + emulator_id + ' shell getprop init.svc.bootanim')
|
return exec('adb -s ' + emulator_id + ' shell getprop init.svc.bootanim', os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
if (output.match(/stopped/)) {
|
if (output.match(/stopped/)) {
|
||||||
return;
|
return;
|
||||||
@ -309,7 +310,7 @@ module.exports.install = function(target, buildResults) {
|
|||||||
var apk_path = build.findBestApkForArchitecture(buildResults, resolvedTarget.arch);
|
var apk_path = build.findBestApkForArchitecture(buildResults, resolvedTarget.arch);
|
||||||
console.log('Installing app on emulator...');
|
console.log('Installing app on emulator...');
|
||||||
console.log('Using apk: ' + apk_path);
|
console.log('Using apk: ' + apk_path);
|
||||||
return exec('adb -s ' + resolvedTarget.target + ' install -r "' + apk_path + '"')
|
return exec('adb -s ' + resolvedTarget.target + ' install -r "' + apk_path + '"', os.tmpdir())
|
||||||
.then(function(output) {
|
.then(function(output) {
|
||||||
if (output.match(/Failure/)) {
|
if (output.match(/Failure/)) {
|
||||||
return Q.reject('Failed to install apk to emulator: ' + output);
|
return Q.reject('Failed to install apk to emulator: ' + output);
|
||||||
@ -319,13 +320,13 @@ module.exports.install = function(target, buildResults) {
|
|||||||
return Q.reject('Failed to install apk to emulator: ' + err);
|
return Q.reject('Failed to install apk to emulator: ' + err);
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
//unlock screen
|
//unlock screen
|
||||||
return exec('adb -s ' + resolvedTarget.target + ' shell input keyevent 82');
|
return exec('adb -s ' + resolvedTarget.target + ' shell input keyevent 82', os.tmpdir());
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
// launch the application
|
// launch the application
|
||||||
console.log('Launching application...');
|
console.log('Launching application...');
|
||||||
var launchName = appinfo.getActivityName();
|
var launchName = appinfo.getActivityName();
|
||||||
cmd = 'adb -s ' + resolvedTarget.target + ' shell am start -W -a android.intent.action.MAIN -n ' + launchName;
|
cmd = 'adb -s ' + resolvedTarget.target + ' shell am start -W -a android.intent.action.MAIN -n ' + launchName;
|
||||||
return exec(cmd);
|
return exec(cmd, os.tmpdir());
|
||||||
}).then(function(output) {
|
}).then(function(output) {
|
||||||
console.log('LAUNCH SUCCESS');
|
console.log('LAUNCH SUCCESS');
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
|
3
bin/templates/cordova/lib/log.js
vendored
3
bin/templates/cordova/lib/log.js
vendored
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
var shell = require('shelljs'),
|
var shell = require('shelljs'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
|
os = require('os'),
|
||||||
Q = require('q'),
|
Q = require('q'),
|
||||||
child_process = require('child_process'),
|
child_process = require('child_process'),
|
||||||
ROOT = path.join(__dirname, '..', '..');
|
ROOT = path.join(__dirname, '..', '..');
|
||||||
@ -32,7 +33,7 @@ var shell = require('shelljs'),
|
|||||||
module.exports.run = function() {
|
module.exports.run = function() {
|
||||||
var cmd = 'adb logcat | grep -v nativeGetEnabledTags';
|
var cmd = 'adb logcat | grep -v nativeGetEnabledTags';
|
||||||
var d = Q.defer();
|
var d = Q.defer();
|
||||||
var adb = child_process.spawn('adb', ['logcat']);
|
var adb = child_process.spawn('adb', ['logcat'], {cwd: os.tmpdir()});
|
||||||
|
|
||||||
adb.stdout.on('data', function(data) {
|
adb.stdout.on('data', function(data) {
|
||||||
var lines = data ? data.toString().split('\n') : [];
|
var lines = data ? data.toString().split('\n') : [];
|
||||||
|
Loading…
Reference in New Issue
Block a user