Add support for 64-bit NDKs to Android Plugin.

Currently the Android plugin only checks for the linux-x86 prebuilds in the
64-bit Android NDK (and mingw-and-ndk), this means Qt Creator goes bonkers
because it can't find the toolchain and debugger for the kits it
auto-detects/creates.

A work around is to symlink linux-x86_64 to linux-x86 in every toolchain.

Change-Id: I04522b65ef48b6090a9f6925e8e3420ad1d333ee
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Guillermo A. Amaral
2013-04-04 01:29:47 -07:00
parent 8139d43c29
commit 6a6f3d2a53
5 changed files with 46 additions and 49 deletions

View File

@@ -42,21 +42,6 @@ QT_END_NAMESPACE
namespace Android {
namespace Internal {
#ifdef Q_OS_LINUX
const QLatin1String ToolchainHost("linux-x86");
#else
# ifdef Q_OS_DARWIN
const QLatin1String ToolchainHost("darwin-x86");
# else
# ifdef Q_OS_WIN32
const QLatin1String ToolchainHost("windows");
# else
# warning No Android supported OSs found
const QLatin1String ToolchainHost("linux-x86");
# endif
# endif
#endif
class AndroidConfig
{
public:
@@ -69,6 +54,7 @@ public:
Utils::FileName antLocation;
Utils::FileName openJDKLocation;
Utils::FileName keystoreLocation;
QString toolchainHost;
unsigned partitionSize;
bool automaticKitCreation;
};
@@ -95,6 +81,7 @@ public:
Utils::FileName androidToolPath() const;
Utils::FileName antToolPath() const;
Utils::FileName emulatorToolPath() const;
Utils::FileName gccPath(ProjectExplorer::Abi::Architecture architecture, const QString &ndkToolChainVersion) const;
Utils::FileName gdbPath(ProjectExplorer::Abi::Architecture architecture, const QString &ndkToolChainVersion) const;
Utils::FileName openJDKPath() const;
Utils::FileName keytoolPath() const;
@@ -124,6 +111,7 @@ public slots:
private:
Utils::FileName toolPath(ProjectExplorer::Abi::Architecture architecture, const QString &ndkToolChainVersion) const;
Utils::FileName openJDKBinPath() const;
void detectToolchainHost();
AndroidConfigurations(QObject *parent);
void load();