droid-cli 1.6.2 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +52 -15
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/debug.d.ts +7 -0
- package/dist/commands/debug.d.ts.map +1 -0
- package/dist/commands/debug.js +125 -0
- package/dist/commands/debug.js.map +1 -0
- package/dist/commands/logcat.d.ts.map +1 -1
- package/dist/commands/logcat.js +52 -35
- package/dist/commands/logcat.js.map +1 -1
- package/dist/commands/screenshot.d.ts +9 -0
- package/dist/commands/screenshot.d.ts.map +1 -0
- package/dist/commands/screenshot.js +135 -0
- package/dist/commands/screenshot.js.map +1 -0
- package/dist/core/adb.d.ts +4 -5
- package/dist/core/adb.d.ts.map +1 -1
- package/dist/core/adb.js +95 -69
- package/dist/core/adb.js.map +1 -1
- package/dist/core/android-project.d.ts +3 -1
- package/dist/core/android-project.d.ts.map +1 -1
- package/dist/core/android-project.js +61 -14
- package/dist/core/android-project.js.map +1 -1
- package/dist/core/screenshot.d.ts +20 -0
- package/dist/core/screenshot.d.ts.map +1 -0
- package/dist/core/screenshot.js +234 -0
- package/dist/core/screenshot.js.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/ui/interactive-menu.d.ts +1 -1
- package/dist/ui/interactive-menu.d.ts.map +1 -1
- package/dist/ui/interactive-menu.js +4 -0
- package/dist/ui/interactive-menu.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.screenshotCommand = screenshotCommand;
|
|
4
|
+
const logger_1 = require("../ui/logger");
|
|
5
|
+
const adb_1 = require("../core/adb");
|
|
6
|
+
const config_manager_1 = require("../config/config-manager");
|
|
7
|
+
const screenshot_1 = require("../core/screenshot");
|
|
8
|
+
const prompts_1 = require("@inquirer/prompts");
|
|
9
|
+
async function screenshotCommand(options = {}) {
|
|
10
|
+
try {
|
|
11
|
+
logger_1.Logger.step('📸 Taking screenshot of Android device...');
|
|
12
|
+
// Load configuration
|
|
13
|
+
const configManager = config_manager_1.ConfigManager.getInstance();
|
|
14
|
+
const config = await configManager.load();
|
|
15
|
+
// Get ADB manager and check devices
|
|
16
|
+
const adbManager = adb_1.AdbManager.getInstance();
|
|
17
|
+
const devices = await adbManager.getDevices();
|
|
18
|
+
const availableDevices = adbManager.getAvailableDevices();
|
|
19
|
+
if (availableDevices.length === 0) {
|
|
20
|
+
logger_1.Logger.error('No devices available. Please connect a device or start an emulator.');
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
// Determine target device
|
|
24
|
+
let targetDeviceId = options.device || config.selectedDevice;
|
|
25
|
+
if (!targetDeviceId || !availableDevices.find(d => d.id === targetDeviceId)) {
|
|
26
|
+
if (availableDevices.length === 1) {
|
|
27
|
+
targetDeviceId = availableDevices[0].id;
|
|
28
|
+
logger_1.Logger.info(`Using device: ${availableDevices[0].name} (${targetDeviceId})`);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// Let user select device
|
|
32
|
+
const deviceChoices = availableDevices.map(device => ({
|
|
33
|
+
name: `${device.name} (${device.id}) - API ${device.apiLevel || 'Unknown'}`,
|
|
34
|
+
value: device.id,
|
|
35
|
+
}));
|
|
36
|
+
targetDeviceId = await (0, prompts_1.select)({
|
|
37
|
+
message: 'Select device for screenshot:',
|
|
38
|
+
choices: deviceChoices,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const targetDevice = adbManager.getDeviceById(targetDeviceId);
|
|
43
|
+
if (!targetDevice) {
|
|
44
|
+
logger_1.Logger.error(`Device ${targetDeviceId} not found or not available.`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
logger_1.Logger.device(`Target device: ${targetDevice.name} (${targetDevice.id})`);
|
|
48
|
+
// Get ScreenshotManager
|
|
49
|
+
const screenshotManager = screenshot_1.ScreenshotManager.getInstance();
|
|
50
|
+
// Prepare screenshot options
|
|
51
|
+
const screenshotOptions = {
|
|
52
|
+
deviceId: targetDevice.id,
|
|
53
|
+
outputDir: options.output,
|
|
54
|
+
copyToClipboard: options.copy !== false, // Default to true unless explicitly false
|
|
55
|
+
};
|
|
56
|
+
console.log(''); // Add spacing
|
|
57
|
+
logger_1.Logger.info('📸 Capturing screenshot...');
|
|
58
|
+
// Take screenshot
|
|
59
|
+
const result = await screenshotManager.takeScreenshot(screenshotOptions);
|
|
60
|
+
if (result.success) {
|
|
61
|
+
console.log(''); // Add spacing
|
|
62
|
+
logger_1.Logger.success('📸 Screenshot captured successfully!');
|
|
63
|
+
if (result.copiedToClipboard) {
|
|
64
|
+
logger_1.Logger.success('📋 Screenshot copied to clipboard');
|
|
65
|
+
logger_1.Logger.info('💡 You can now paste it directly into your AI chat or image editor');
|
|
66
|
+
}
|
|
67
|
+
if (result.filePath) {
|
|
68
|
+
logger_1.Logger.info(`📁 Saved to: ${result.filePath}`);
|
|
69
|
+
// Show recent screenshots
|
|
70
|
+
const recentScreenshots = await screenshotManager.getScreenshotHistory(5);
|
|
71
|
+
if (recentScreenshots.length > 1) {
|
|
72
|
+
logger_1.Logger.info(`📚 Recent screenshots (${recentScreenshots.length}):`);
|
|
73
|
+
recentScreenshots.slice(0, 3).forEach((screenshot, index) => {
|
|
74
|
+
const filename = screenshot.split('/').pop();
|
|
75
|
+
logger_1.Logger.info(` ${index + 1}. ${filename}`);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Options for what to do next
|
|
80
|
+
console.log(''); // Add spacing
|
|
81
|
+
const nextAction = await (0, prompts_1.select)({
|
|
82
|
+
message: 'What would you like to do next?',
|
|
83
|
+
choices: [
|
|
84
|
+
{ name: '📁 Open screenshots folder', value: 'open' },
|
|
85
|
+
{ name: '📸 Take another screenshot', value: 'another' },
|
|
86
|
+
{ name: '🔄 Copy to clipboard again', value: 'copy' },
|
|
87
|
+
{ name: '✅ Done', value: 'done' },
|
|
88
|
+
],
|
|
89
|
+
});
|
|
90
|
+
switch (nextAction) {
|
|
91
|
+
case 'open':
|
|
92
|
+
await screenshotManager.openScreenshotDir(result.filePath);
|
|
93
|
+
break;
|
|
94
|
+
case 'another':
|
|
95
|
+
console.log(''); // Add spacing
|
|
96
|
+
await screenshotCommand(options); // Recursive call
|
|
97
|
+
break;
|
|
98
|
+
case 'copy':
|
|
99
|
+
if (result.filePath) {
|
|
100
|
+
const copyResult = await screenshotManager.takeScreenshot({
|
|
101
|
+
...screenshotOptions,
|
|
102
|
+
copyToClipboard: true,
|
|
103
|
+
});
|
|
104
|
+
if (copyResult.copiedToClipboard) {
|
|
105
|
+
logger_1.Logger.success('📋 Screenshot copied to clipboard');
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
logger_1.Logger.warn('📋 Failed to copy to clipboard');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case 'done':
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
console.log(''); // Add spacing
|
|
118
|
+
logger_1.Logger.error(`📸 Screenshot failed: ${result.error}`);
|
|
119
|
+
// Provide troubleshooting help
|
|
120
|
+
console.log(''); // Add spacing
|
|
121
|
+
logger_1.Logger.info('💡 Troubleshooting:');
|
|
122
|
+
logger_1.Logger.info(' • Check device is connected: adb devices');
|
|
123
|
+
logger_1.Logger.info(' • Enable USB debugging on your device');
|
|
124
|
+
logger_1.Logger.info(' • Try with a different device or emulator');
|
|
125
|
+
logger_1.Logger.info(' • Ensure device screen is unlocked');
|
|
126
|
+
}
|
|
127
|
+
console.log(''); // Add spacing
|
|
128
|
+
logger_1.Logger.info('📸 Screenshot command completed');
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
logger_1.Logger.error('Screenshot command failed:', error);
|
|
132
|
+
process.exit(1);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=screenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/commands/screenshot.ts"],"names":[],"mappings":"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"}
|
package/dist/core/adb.d.ts
CHANGED
|
@@ -34,12 +34,11 @@ export declare class AdbManager {
|
|
|
34
34
|
} | null>;
|
|
35
35
|
private formatBytes;
|
|
36
36
|
killApp(deviceId: string, packageName: string): Promise<boolean>;
|
|
37
|
-
launchApp(deviceId: string, packageName: string,
|
|
38
|
-
restartApp(deviceId: string, packageName: string,
|
|
39
|
-
private getMainActivity;
|
|
40
|
-
private activityExists;
|
|
37
|
+
launchApp(deviceId: string, packageName: string, basePackageName?: string): Promise<boolean>;
|
|
38
|
+
restartApp(deviceId: string, packageName: string, basePackageName?: string): Promise<boolean>;
|
|
41
39
|
clearAppData(deviceId: string, packageName: string): Promise<boolean>;
|
|
42
|
-
clearAppDataAndRestart(deviceId: string, packageName: string,
|
|
40
|
+
clearAppDataAndRestart(deviceId: string, packageName: string, basePackageName?: string): Promise<boolean>;
|
|
41
|
+
private launchAppAlternative;
|
|
43
42
|
getDeviceById(deviceId: string): AndroidDevice | null;
|
|
44
43
|
getAvailableDevices(): AndroidDevice[];
|
|
45
44
|
getPhysicalDevices(): AndroidDevice[];
|
package/dist/core/adb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../../src/core/adb.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;IAC7C,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,OAAO,CAAuB;IAEtC,MAAM,CAAC,WAAW,IAAI,UAAU;IAO1B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAwB9B,gBAAgB;YA4ChB,aAAa;YAiBb,mBAAmB;IAiC3B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsC3E,OAAO,CAAC,mBAAmB;IA+CrB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BrE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAiC5F,OAAO,CAAC,WAAW;IAQb,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BhE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../../src/core/adb.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;IAC7C,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,OAAO,CAAuB;IAEtC,MAAM,CAAC,WAAW,IAAI,UAAU;IAO1B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAwB9B,gBAAgB;YA4ChB,aAAa;YAiBb,mBAAmB;IAiC3B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsC3E,OAAO,CAAC,mBAAmB;IA+CrB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BrE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAiC5F,OAAO,CAAC,WAAW;IAQb,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BhE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC5F,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B7F,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDrE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAoDjG,oBAAoB;IAkClC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIrD,mBAAmB,IAAI,aAAa,EAAE;IAItC,kBAAkB,IAAI,aAAa,EAAE;IAIrC,mBAAmB,IAAI,aAAa,EAAE;IAIhC,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA8BrD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6CrD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BpE,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG/C"}
|
package/dist/core/adb.js
CHANGED
|
@@ -279,17 +279,17 @@ class AdbManager {
|
|
|
279
279
|
return false;
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
|
-
async launchApp(deviceId, packageName,
|
|
282
|
+
async launchApp(deviceId, packageName, basePackageName) {
|
|
283
283
|
if (!(await this.checkAdbAvailable())) {
|
|
284
284
|
return false;
|
|
285
285
|
}
|
|
286
286
|
try {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
}
|
|
287
|
+
// Use the base package name for the activity class if provided
|
|
288
|
+
// This handles cases where applicationIdSuffix is used (e.g., .dev, .staging)
|
|
289
|
+
const activityPackage = basePackageName || packageName;
|
|
290
|
+
const activity = `${activityPackage}.MainActivity`;
|
|
292
291
|
logger_1.Logger.info(`Launching ${packageName} on ${deviceId}...`);
|
|
292
|
+
logger_1.Logger.debug(`Activity: ${packageName}/${activity}`);
|
|
293
293
|
const result = await process_1.ProcessManager.run('adb', [
|
|
294
294
|
'-s', deviceId,
|
|
295
295
|
'shell', 'am', 'start',
|
|
@@ -310,7 +310,7 @@ class AdbManager {
|
|
|
310
310
|
return false;
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
async restartApp(deviceId, packageName,
|
|
313
|
+
async restartApp(deviceId, packageName, basePackageName) {
|
|
314
314
|
logger_1.Logger.info(`Restarting ${packageName} on ${deviceId}...`);
|
|
315
315
|
// First kill the app (ignore failure - app might not be running)
|
|
316
316
|
const killSuccess = await this.killApp(deviceId, packageName);
|
|
@@ -323,7 +323,7 @@ class AdbManager {
|
|
|
323
323
|
// Small delay to ensure the app is fully stopped
|
|
324
324
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
325
325
|
// Then launch it again
|
|
326
|
-
const launchSuccess = await this.launchApp(deviceId, packageName,
|
|
326
|
+
const launchSuccess = await this.launchApp(deviceId, packageName, basePackageName);
|
|
327
327
|
if (launchSuccess) {
|
|
328
328
|
logger_1.Logger.success(`App restarted successfully on ${deviceId}`);
|
|
329
329
|
return true;
|
|
@@ -333,65 +333,42 @@ class AdbManager {
|
|
|
333
333
|
return false;
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
|
-
async getMainActivity(deviceId, packageName) {
|
|
337
|
-
try {
|
|
338
|
-
const result = await process_1.ProcessManager.run('adb', [
|
|
339
|
-
'-s', deviceId,
|
|
340
|
-
'shell', 'pm', 'dump', packageName
|
|
341
|
-
]);
|
|
342
|
-
if (result.success) {
|
|
343
|
-
const lines = result.stdout.split('\n');
|
|
344
|
-
for (const line of lines) {
|
|
345
|
-
if (line.includes('android.intent.action.MAIN')) {
|
|
346
|
-
const activityMatch = line.match(/([a-zA-Z0-9._]+\/[a-zA-Z0-9._]+)/);
|
|
347
|
-
if (activityMatch) {
|
|
348
|
-
return activityMatch[1].split('/')[1];
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
catch (error) {
|
|
355
|
-
logger_1.Logger.debug(`Failed to get main activity for ${packageName}:`, error);
|
|
356
|
-
}
|
|
357
|
-
// Fallback to common activity names
|
|
358
|
-
const commonActivities = ['.MainActivity', '.Main', '.HomeActivity'];
|
|
359
|
-
for (const activity of commonActivities) {
|
|
360
|
-
// Simply try to launch with the common activity name
|
|
361
|
-
// The launch will fail gracefully if the activity doesn't exist
|
|
362
|
-
logger_1.Logger.debug(`Trying fallback activity: ${activity}`);
|
|
363
|
-
return activity;
|
|
364
|
-
}
|
|
365
|
-
return '.MainActivity'; // Default fallback
|
|
366
|
-
}
|
|
367
|
-
async activityExists(deviceId, packageName, activityName) {
|
|
368
|
-
try {
|
|
369
|
-
const result = await process_1.ProcessManager.run('adb', [
|
|
370
|
-
'-s', deviceId,
|
|
371
|
-
'shell', 'pm', 'list', 'packages', packageName
|
|
372
|
-
]);
|
|
373
|
-
return result.success && result.stdout.includes(packageName);
|
|
374
|
-
}
|
|
375
|
-
catch {
|
|
376
|
-
return false;
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
336
|
async clearAppData(deviceId, packageName) {
|
|
380
337
|
if (!(await this.checkAdbAvailable())) {
|
|
338
|
+
logger_1.Logger.error('ADB not available for clearing app data');
|
|
381
339
|
return false;
|
|
382
340
|
}
|
|
383
341
|
try {
|
|
342
|
+
// First check if the package is installed
|
|
343
|
+
const packageCheck = await process_1.ProcessManager.run('adb', [
|
|
344
|
+
'-s', deviceId,
|
|
345
|
+
'shell', 'pm', 'list', 'packages', packageName
|
|
346
|
+
]);
|
|
347
|
+
logger_1.Logger.debug(`Package check result: ${packageCheck.stdout}`);
|
|
348
|
+
if (!packageCheck.success || !packageCheck.stdout.includes(packageName)) {
|
|
349
|
+
logger_1.Logger.warn(`Package ${packageName} not found on device. Skipping clear data.`);
|
|
350
|
+
return true; // Return true since there's nothing to clear
|
|
351
|
+
}
|
|
384
352
|
logger_1.Logger.info(`Clearing app data for ${packageName} on ${deviceId}...`);
|
|
385
353
|
const result = await process_1.ProcessManager.run('adb', [
|
|
386
354
|
'-s', deviceId,
|
|
387
355
|
'shell', 'pm', 'clear', packageName
|
|
388
356
|
]);
|
|
389
|
-
|
|
357
|
+
logger_1.Logger.debug(`Clear app data result - exitCode: ${result.exitCode}, stdout: "${result.stdout}", stderr: "${result.stderr}"`);
|
|
358
|
+
// The pm clear command typically returns exit code 0 on success
|
|
359
|
+
if (result.exitCode === 0) {
|
|
390
360
|
logger_1.Logger.success(`App data cleared for ${packageName}`);
|
|
391
361
|
return true;
|
|
392
362
|
}
|
|
393
363
|
else {
|
|
394
|
-
|
|
364
|
+
const output = result.stdout || result.stderr || '';
|
|
365
|
+
logger_1.Logger.error(`Failed to clear app data - exitCode: ${result.exitCode}`);
|
|
366
|
+
logger_1.Logger.error(`Output: ${output}`);
|
|
367
|
+
// Check for specific error messages
|
|
368
|
+
if (output.includes('not installed') || output.includes('Unknown package')) {
|
|
369
|
+
logger_1.Logger.warn('Package not installed, treating as success');
|
|
370
|
+
return true;
|
|
371
|
+
}
|
|
395
372
|
return false;
|
|
396
373
|
}
|
|
397
374
|
}
|
|
@@ -400,26 +377,75 @@ class AdbManager {
|
|
|
400
377
|
return false;
|
|
401
378
|
}
|
|
402
379
|
}
|
|
403
|
-
async clearAppDataAndRestart(deviceId, packageName,
|
|
380
|
+
async clearAppDataAndRestart(deviceId, packageName, basePackageName) {
|
|
404
381
|
logger_1.Logger.info(`Clearing app data and restarting ${packageName} on ${deviceId}...`);
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
382
|
+
try {
|
|
383
|
+
// First kill the app to ensure clean state
|
|
384
|
+
logger_1.Logger.debug('Step 1: Killing app...');
|
|
385
|
+
const killSuccess = await this.killApp(deviceId, packageName);
|
|
386
|
+
logger_1.Logger.debug(`Kill app result: ${killSuccess}`);
|
|
387
|
+
// Clear app data
|
|
388
|
+
logger_1.Logger.debug('Step 2: Clearing app data...');
|
|
389
|
+
const clearSuccess = await this.clearAppData(deviceId, packageName);
|
|
390
|
+
if (!clearSuccess) {
|
|
391
|
+
logger_1.Logger.error('Failed to clear app data - aborting restart');
|
|
392
|
+
return false;
|
|
393
|
+
}
|
|
394
|
+
logger_1.Logger.debug('App data cleared successfully');
|
|
395
|
+
// Add a longer delay after clearing data to ensure system state is clean
|
|
396
|
+
logger_1.Logger.debug('Step 3: Waiting for system to stabilize...');
|
|
397
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
398
|
+
// Launch the app
|
|
399
|
+
logger_1.Logger.debug('Step 4: Launching app...');
|
|
400
|
+
const launchSuccess = await this.launchApp(deviceId, packageName, basePackageName);
|
|
401
|
+
logger_1.Logger.debug(`Launch app result: ${launchSuccess}`);
|
|
402
|
+
if (launchSuccess) {
|
|
403
|
+
logger_1.Logger.success(`App data cleared and app restarted successfully on ${deviceId}`);
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
logger_1.Logger.error('App data cleared but failed to restart app');
|
|
407
|
+
// Try alternative launch methods if the first one fails
|
|
408
|
+
logger_1.Logger.debug('Attempting alternative launch method...');
|
|
409
|
+
// Try to launch with a more explicit approach
|
|
410
|
+
const alternativeLaunch = await this.launchAppAlternative(deviceId, packageName);
|
|
411
|
+
if (alternativeLaunch) {
|
|
412
|
+
logger_1.Logger.success('App launched successfully using alternative method');
|
|
413
|
+
return true;
|
|
414
|
+
}
|
|
411
415
|
return false;
|
|
412
416
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
417
|
+
catch (error) {
|
|
418
|
+
logger_1.Logger.error('Error in clearAppDataAndRestart:', error);
|
|
419
|
+
return false;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
async launchAppAlternative(deviceId, packageName) {
|
|
423
|
+
try {
|
|
424
|
+
logger_1.Logger.debug('Trying to launch app with monkey command...');
|
|
425
|
+
// Alternative launch method using monkey
|
|
426
|
+
const result = await process_1.ProcessManager.run('adb', [
|
|
427
|
+
'-s', deviceId,
|
|
428
|
+
'shell', 'monkey', '-p', packageName, '-c', 'android.intent.category.LAUNCHER', '1'
|
|
429
|
+
]);
|
|
430
|
+
if (result.success) {
|
|
431
|
+
logger_1.Logger.debug('Alternative launch successful');
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
logger_1.Logger.debug('Alternative launch failed, trying AM start with action MAIN...');
|
|
435
|
+
// Another alternative using am start with MAIN action
|
|
436
|
+
const result2 = await process_1.ProcessManager.run('adb', [
|
|
437
|
+
'-s', deviceId,
|
|
438
|
+
'shell', 'am', 'start',
|
|
439
|
+
'-a', 'android.intent.action.MAIN',
|
|
440
|
+
'-c', 'android.intent.category.LAUNCHER',
|
|
441
|
+
packageName
|
|
442
|
+
]);
|
|
443
|
+
return result2.success;
|
|
444
|
+
}
|
|
445
|
+
catch (error) {
|
|
446
|
+
logger_1.Logger.debug('Alternative launch methods failed:', error);
|
|
447
|
+
return false;
|
|
420
448
|
}
|
|
421
|
-
logger_1.Logger.error('App data cleared but failed to restart app');
|
|
422
|
-
return false;
|
|
423
449
|
}
|
|
424
450
|
getDeviceById(deviceId) {
|
|
425
451
|
return this.devices.find(device => device.id === deviceId) || null;
|
package/dist/core/adb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../../src/core/adb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../../src/core/adb.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export interface AndroidProjectInfo {
|
|
|
3
3
|
appPath: string;
|
|
4
4
|
packageName: string;
|
|
5
5
|
buildVariants: string[];
|
|
6
|
+
variantSuffixes: Record<string, string>;
|
|
6
7
|
hasGradleWrapper: boolean;
|
|
7
8
|
gradleWrapperPath: string;
|
|
8
9
|
}
|
|
@@ -11,11 +12,12 @@ export declare class AndroidProject {
|
|
|
11
12
|
static detect(startPath?: string): Promise<AndroidProject | null>;
|
|
12
13
|
private loadProjectInfo;
|
|
13
14
|
private extractPackageName;
|
|
14
|
-
private
|
|
15
|
+
private extractBuildVariantsAndSuffixes;
|
|
15
16
|
getInfo(): AndroidProjectInfo | null;
|
|
16
17
|
getRootPath(): string;
|
|
17
18
|
getAppPath(): string;
|
|
18
19
|
getPackageName(): string;
|
|
20
|
+
getPackageNameForVariant(variant: string): string;
|
|
19
21
|
getBuildVariants(): string[];
|
|
20
22
|
hasGradleWrapper(): boolean;
|
|
21
23
|
getGradleWrapperPath(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-project.d.ts","sourceRoot":"","sources":["../../src/core/android-project.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAmC;WAEzC,MAAM,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAmBxE,eAAe;
|
|
1
|
+
{"version":3,"file":"android-project.d.ts","sourceRoot":"","sources":["../../src/core/android-project.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAmC;WAEzC,MAAM,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAmBxE,eAAe;IAoC7B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,+BAA+B;IA+DvC,OAAO,IAAI,kBAAkB,GAAG,IAAI;IAIpC,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;IAIpB,cAAc,IAAI,MAAM;IAIxB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAejD,gBAAgB,IAAI,MAAM,EAAE;IAI5B,gBAAgB,IAAI,OAAO;IAI3B,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,MAAM;IAOpB,UAAU,CAAC,OAAO,GAAE,MAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;CAe7D"}
|
|
@@ -70,14 +70,15 @@ class AndroidProject {
|
|
|
70
70
|
buildGradleContent = await fs.readFile(buildGradleKtsPath, 'utf-8');
|
|
71
71
|
}
|
|
72
72
|
const packageName = this.extractPackageName(buildGradleContent);
|
|
73
|
-
const
|
|
73
|
+
const { variants, suffixes } = this.extractBuildVariantsAndSuffixes(buildGradleContent);
|
|
74
74
|
const hasGradleWrapper = validators_1.Validators.hasGradleWrapper(rootPath);
|
|
75
75
|
const gradleWrapperPath = path.join(rootPath, 'gradlew');
|
|
76
76
|
this.projectInfo = {
|
|
77
77
|
rootPath,
|
|
78
78
|
appPath,
|
|
79
79
|
packageName,
|
|
80
|
-
buildVariants,
|
|
80
|
+
buildVariants: variants,
|
|
81
|
+
variantSuffixes: suffixes,
|
|
81
82
|
hasGradleWrapper,
|
|
82
83
|
gradleWrapperPath,
|
|
83
84
|
};
|
|
@@ -93,23 +94,58 @@ class AndroidProject {
|
|
|
93
94
|
const match = buildGradleContent.match(/applicationId\s+['"](.*?)['"]/);
|
|
94
95
|
return match ? match[1] : 'unknown';
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
-
const variants = [
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
extractBuildVariantsAndSuffixes(buildGradleContent) {
|
|
98
|
+
const variants = [];
|
|
99
|
+
const suffixes = {};
|
|
100
|
+
// Look for buildTypes block - match everything until we find a line that starts without indentation
|
|
101
|
+
const buildTypesMatch = buildGradleContent.match(/buildTypes\s*\{([\s\S]*?)^\s*\}/m);
|
|
100
102
|
if (buildTypesMatch) {
|
|
101
103
|
const buildTypesContent = buildTypesMatch[1];
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
// Extract each build type by looking for blocks that start with a word and opening brace
|
|
105
|
+
const lines = buildTypesContent.split('\n');
|
|
106
|
+
let currentVariant = null;
|
|
107
|
+
let currentContent = '';
|
|
108
|
+
for (const line of lines) {
|
|
109
|
+
// Check if this line starts a new build type
|
|
110
|
+
const variantMatch = line.match(/^\s*(\w+)\s*\{/);
|
|
111
|
+
if (variantMatch) {
|
|
112
|
+
// Save previous variant if exists
|
|
113
|
+
if (currentVariant && currentContent) {
|
|
114
|
+
variants.push(currentVariant);
|
|
115
|
+
// Look for applicationIdSuffix
|
|
116
|
+
const suffixMatch = currentContent.match(/applicationIdSuffix\s+['"](.*?)['"]/);
|
|
117
|
+
if (suffixMatch) {
|
|
118
|
+
suffixes[currentVariant] = suffixMatch[1];
|
|
119
|
+
}
|
|
108
120
|
}
|
|
109
|
-
|
|
121
|
+
// Start new variant
|
|
122
|
+
currentVariant = variantMatch[1];
|
|
123
|
+
currentContent = line;
|
|
124
|
+
}
|
|
125
|
+
else if (currentVariant) {
|
|
126
|
+
// Accumulate content for current variant
|
|
127
|
+
currentContent += '\n' + line;
|
|
128
|
+
}
|
|
110
129
|
}
|
|
130
|
+
// Don't forget the last variant
|
|
131
|
+
if (currentVariant && currentContent) {
|
|
132
|
+
variants.push(currentVariant);
|
|
133
|
+
const suffixMatch = currentContent.match(/applicationIdSuffix\s+['"](.*?)['"]/);
|
|
134
|
+
if (suffixMatch) {
|
|
135
|
+
suffixes[currentVariant] = suffixMatch[1];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Ensure default variants are included if not found
|
|
140
|
+
if (!variants.includes('debug')) {
|
|
141
|
+
variants.push('debug');
|
|
142
|
+
}
|
|
143
|
+
if (!variants.includes('release')) {
|
|
144
|
+
variants.push('release');
|
|
111
145
|
}
|
|
112
|
-
|
|
146
|
+
logger_1.Logger.debug(`Extracted variants: ${JSON.stringify(variants)}`);
|
|
147
|
+
logger_1.Logger.debug(`Extracted suffixes: ${JSON.stringify(suffixes)}`);
|
|
148
|
+
return { variants, suffixes };
|
|
113
149
|
}
|
|
114
150
|
getInfo() {
|
|
115
151
|
return this.projectInfo;
|
|
@@ -123,6 +159,17 @@ class AndroidProject {
|
|
|
123
159
|
getPackageName() {
|
|
124
160
|
return this.projectInfo?.packageName || 'unknown';
|
|
125
161
|
}
|
|
162
|
+
getPackageNameForVariant(variant) {
|
|
163
|
+
if (!this.projectInfo) {
|
|
164
|
+
return 'unknown';
|
|
165
|
+
}
|
|
166
|
+
const basePackageName = this.projectInfo.packageName;
|
|
167
|
+
const suffix = this.projectInfo.variantSuffixes[variant];
|
|
168
|
+
if (suffix) {
|
|
169
|
+
return `${basePackageName}${suffix}`;
|
|
170
|
+
}
|
|
171
|
+
return basePackageName;
|
|
172
|
+
}
|
|
126
173
|
getBuildVariants() {
|
|
127
174
|
return this.projectInfo?.buildVariants || ['debug', 'release'];
|
|
128
175
|
}
|