Android: Use a more direct access to the tools' path

Change-Id: I49c574144fd4d6b2edd829538c424465c1fe7f05
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2023-07-27 14:44:44 +02:00
parent 1e35f09251
commit 68c3103f76
5 changed files with 11 additions and 11 deletions

View File

@@ -38,8 +38,7 @@ bool AndroidAvdManager::avdManagerCommand(const AndroidConfig &config, const QSt
{ {
CommandLine cmd(config.avdManagerToolPath(), args); CommandLine cmd(config.avdManagerToolPath(), args);
Process proc; Process proc;
Environment env = AndroidConfigurations::toolsEnvironment(config); proc.setEnvironment(config.toolsEnvironment());
proc.setEnvironment(env);
qCDebug(avdManagerLog).noquote() << "Running AVD Manager command:" << cmd.toUserOutput(); qCDebug(avdManagerLog).noquote() << "Running AVD Manager command:" << cmd.toUserOutput();
proc.setCommand(cmd); proc.setCommand(cmd);
proc.runBlocking(); proc.runBlocking();
@@ -87,7 +86,7 @@ static CreateAvdInfo createAvdCommand(const AndroidConfig &config, const CreateA
qCDebug(avdManagerLog).noquote() << "Running AVD Manager command:" << avdManager.toUserOutput(); qCDebug(avdManagerLog).noquote() << "Running AVD Manager command:" << avdManager.toUserOutput();
Process proc; Process proc;
proc.setProcessMode(ProcessMode::Writer); proc.setProcessMode(ProcessMode::Writer);
proc.setEnvironment(AndroidConfigurations::toolsEnvironment(config)); proc.setEnvironment(config.toolsEnvironment());
proc.setCommand(avdManager); proc.setCommand(avdManager);
proc.start(); proc.start();
if (!proc.waitForStarted()) { if (!proc.waitForStarted()) {
@@ -148,7 +147,7 @@ bool AndroidAvdManager::removeAvd(const QString &name) const
qCDebug(avdManagerLog).noquote() << "Running command (removeAvd):" << command.toUserOutput(); qCDebug(avdManagerLog).noquote() << "Running command (removeAvd):" << command.toUserOutput();
Process proc; Process proc;
proc.setTimeoutS(5); proc.setTimeoutS(5);
proc.setEnvironment(AndroidConfigurations::toolsEnvironment(m_config)); proc.setEnvironment(m_config.toolsEnvironment());
proc.setCommand(command); proc.setCommand(command);
proc.runBlocking(); proc.runBlocking();
return proc.result() == ProcessResult::FinishedWithSuccess; return proc.result() == ProcessResult::FinishedWithSuccess;

View File

@@ -1424,10 +1424,10 @@ void AndroidConfigurations::updateAutomaticKitList()
KitManager::deregisterKit(k); KitManager::deregisterKit(k);
} }
Environment AndroidConfigurations::toolsEnvironment(const AndroidConfig &config) Environment AndroidConfig::toolsEnvironment() const
{ {
Environment env = Environment::systemEnvironment(); Environment env = Environment::systemEnvironment();
FilePath jdkLocation = config.openJDKLocation(); FilePath jdkLocation = openJDKLocation();
if (!jdkLocation.isEmpty()) { if (!jdkLocation.isEmpty()) {
env.set(Constants::JAVA_HOME_ENV_VAR, jdkLocation.toUserOutput()); env.set(Constants::JAVA_HOME_ENV_VAR, jdkLocation.toUserOutput());
env.prependOrSetPath(jdkLocation.pathAppended("bin")); env.prependOrSetPath(jdkLocation.pathAppended("bin"));

View File

@@ -150,6 +150,8 @@ public:
static QStringList getAbis(const QString &device); static QStringList getAbis(const QString &device);
static int getSDKVersion(const QString &device); static int getSDKVersion(const QString &device);
Utils::Environment toolsEnvironment() const;
private: private:
static QString getDeviceProperty(const QString &device, const QString &property); static QString getDeviceProperty(const QString &device, const QString &property);
@@ -197,7 +199,6 @@ public:
static void removeOldToolChains(); static void removeOldToolChains();
static void updateAutomaticKitList(); static void updateAutomaticKitList();
static bool force32bitEmulator(); static bool force32bitEmulator();
static Utils::Environment toolsEnvironment(const AndroidConfig &config);
signals: signals:
void aboutToUpdate(); void aboutToUpdate();

View File

@@ -641,7 +641,7 @@ void AndroidDeviceManager::setupDevicesWatcher()
const CommandLine command = CommandLine(m_androidConfig.adbToolPath(), {"track-devices"}); const CommandLine command = CommandLine(m_androidConfig.adbToolPath(), {"track-devices"});
m_adbDeviceWatcherProcess->setCommand(command); m_adbDeviceWatcherProcess->setCommand(command);
m_adbDeviceWatcherProcess->setWorkingDirectory(command.executable().parentDir()); m_adbDeviceWatcherProcess->setWorkingDirectory(command.executable().parentDir());
m_adbDeviceWatcherProcess->setEnvironment(AndroidConfigurations::toolsEnvironment(m_androidConfig)); m_adbDeviceWatcherProcess->setEnvironment(m_androidConfig.toolsEnvironment());
m_adbDeviceWatcherProcess->start(); m_adbDeviceWatcherProcess->start();
// Setup AVD filesystem watcher to listen for changes when an avd is created/deleted, // Setup AVD filesystem watcher to listen for changes when an avd is created/deleted,

View File

@@ -94,7 +94,7 @@ static bool sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
<< CommandLine(config.sdkManagerToolPath(), newArgs) << CommandLine(config.sdkManagerToolPath(), newArgs)
.toUserOutput(); .toUserOutput();
Process proc; Process proc;
proc.setEnvironment(AndroidConfigurations::toolsEnvironment(config)); proc.setEnvironment(config.toolsEnvironment());
proc.setTimeoutS(timeout); proc.setTimeoutS(timeout);
proc.setTimeOutMessageBoxEnabled(true); proc.setTimeOutMessageBoxEnabled(true);
proc.setCommand({config.sdkManagerToolPath(), newArgs}); proc.setCommand({config.sdkManagerToolPath(), newArgs});
@@ -122,7 +122,7 @@ static void sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
.toUserOutput(); .toUserOutput();
int offset = promise.future().progressValue(); int offset = promise.future().progressValue();
Process proc; Process proc;
proc.setEnvironment(AndroidConfigurations::toolsEnvironment(config)); proc.setEnvironment(config.toolsEnvironment());
bool assertionFound = false; bool assertionFound = false;
proc.setTimeoutS(timeout); proc.setTimeoutS(timeout);
proc.setStdOutCallback([offset, progressQuota, &proc, &assertionFound, &promise](const QString &out) { proc.setStdOutCallback([offset, progressQuota, &proc, &assertionFound, &promise](const QString &out) {
@@ -523,7 +523,7 @@ void AndroidSdkManagerPrivate::getPendingLicense(SdkCmdPromise &fi)
Process licenseCommand; Process licenseCommand;
licenseCommand.setProcessMode(ProcessMode::Writer); licenseCommand.setProcessMode(ProcessMode::Writer);
licenseCommand.setEnvironment(AndroidConfigurations::toolsEnvironment(m_config)); licenseCommand.setEnvironment(m_config.toolsEnvironment());
bool reviewingLicenses = false; bool reviewingLicenses = false;
licenseCommand.setCommand(CommandLine(m_config.sdkManagerToolPath(), {"--licenses", sdkRootArg(m_config)})); licenseCommand.setCommand(CommandLine(m_config.sdkManagerToolPath(), {"--licenses", sdkRootArg(m_config)}));
licenseCommand.setUseCtrlCStub(true); licenseCommand.setUseCtrlCStub(true);