forked from qt-creator/qt-creator
Run zipalign tool after android packges is created and signed.
Change-Id: Idaeb93490723085b8f5f7cae356fbaee40636f89 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
committed by
Daniel Teske
parent
7140a685d3
commit
096c4db896
@@ -390,6 +390,12 @@ Utils::FileName AndroidConfigurations::jarsignerPath() const
|
|||||||
return openJDKBinPath().appendPath(jarsignerName);
|
return openJDKBinPath().appendPath(jarsignerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Utils::FileName AndroidConfigurations::zipalignPath() const
|
||||||
|
{
|
||||||
|
Utils::FileName path = m_config.sdkLocation;
|
||||||
|
return path.appendPath(QLatin1String("tools/zipalign" ANDROID_EXE_SUFFIX));
|
||||||
|
}
|
||||||
|
|
||||||
QString AndroidConfigurations::getDeployDeviceSerialNumber(int *apiLevel) const
|
QString AndroidConfigurations::getDeployDeviceSerialNumber(int *apiLevel) const
|
||||||
{
|
{
|
||||||
QVector<AndroidDeviceInfo> devices = connectedDevices();
|
QVector<AndroidDeviceInfo> devices = connectedDevices();
|
||||||
|
@@ -107,6 +107,7 @@ public:
|
|||||||
Utils::FileName openJDKPath() const;
|
Utils::FileName openJDKPath() const;
|
||||||
Utils::FileName keytoolPath() const;
|
Utils::FileName keytoolPath() const;
|
||||||
Utils::FileName jarsignerPath() const;
|
Utils::FileName jarsignerPath() const;
|
||||||
|
Utils::FileName zipalignPath() const;
|
||||||
Utils::FileName stripPath(ProjectExplorer::Abi::Architecture architecture) const;
|
Utils::FileName stripPath(ProjectExplorer::Abi::Architecture architecture) const;
|
||||||
Utils::FileName readelfPath(ProjectExplorer::Abi::Architecture architecture) const;
|
Utils::FileName readelfPath(ProjectExplorer::Abi::Architecture architecture) const;
|
||||||
QString getDeployDeviceSerialNumber(int *apiLevel) const;
|
QString getDeployDeviceSerialNumber(int *apiLevel) const;
|
||||||
|
@@ -175,6 +175,7 @@ bool AndroidPackageCreationStep::init()
|
|||||||
m_keystorePathForRun = m_keystorePath;
|
m_keystorePathForRun = m_keystorePath;
|
||||||
m_certificatePasswdForRun = m_certificatePasswd;
|
m_certificatePasswdForRun = m_certificatePasswd;
|
||||||
m_jarSigner = AndroidConfigurations::instance().jarsignerPath();
|
m_jarSigner = AndroidConfigurations::instance().jarsignerPath();
|
||||||
|
m_zipAligner = AndroidConfigurations::instance().zipalignPath();
|
||||||
initCheckRequiredLibrariesForRun();
|
initCheckRequiredLibrariesForRun();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -425,7 +426,7 @@ bool AndroidPackageCreationStep::createPackage()
|
|||||||
<< QLatin1String("-storepass") << m_keystorePasswd
|
<< QLatin1String("-storepass") << m_keystorePasswd
|
||||||
<< m_apkPathUnsigned.toUserOutput()
|
<< m_apkPathUnsigned.toUserOutput()
|
||||||
<< m_certificateAlias;
|
<< m_certificateAlias;
|
||||||
buildProc->start(m_jarSigner.toString(), build); //TODO
|
buildProc->start(m_jarSigner.toString(), build);
|
||||||
if (!buildProc->waitForStarted()) {
|
if (!buildProc->waitForStarted()) {
|
||||||
disconnect(buildProc, 0, this, 0);
|
disconnect(buildProc, 0, this, 0);
|
||||||
buildProc->deleteLater();
|
buildProc->deleteLater();
|
||||||
@@ -442,7 +443,12 @@ bool AndroidPackageCreationStep::createPackage()
|
|||||||
emit addOutput(tr("Failed, try again"), ErrorMessageOutput);
|
emit addOutput(tr("Failed, try again"), ErrorMessageOutput);
|
||||||
m_certificatePasswdForRun.clear();
|
m_certificatePasswdForRun.clear();
|
||||||
}
|
}
|
||||||
if (QFile::rename(m_apkPathUnsigned.toString(), m_apkPathSigned.toString())) {
|
build.clear();
|
||||||
|
build << QLatin1String("-f") << QLatin1String("-v") << QLatin1String("4") << m_apkPathUnsigned.toString() << m_apkPathSigned.toString();
|
||||||
|
buildProc->start(m_zipAligner.toString(), build);
|
||||||
|
buildProc->waitForFinished();
|
||||||
|
if (!buildProc->exitCode()) {
|
||||||
|
QFile::remove(m_apkPathUnsigned.toString());
|
||||||
emit addOutput(tr("Release signed package created to %1")
|
emit addOutput(tr("Release signed package created to %1")
|
||||||
.arg(m_apkPathSigned.toUserOutput())
|
.arg(m_apkPathSigned.toUserOutput())
|
||||||
, MessageOutput);
|
, MessageOutput);
|
||||||
|
@@ -125,6 +125,7 @@ private:
|
|||||||
Utils::FileName m_keystorePathForRun;
|
Utils::FileName m_keystorePathForRun;
|
||||||
QString m_certificatePasswdForRun;
|
QString m_certificatePasswdForRun;
|
||||||
Utils::FileName m_jarSigner;
|
Utils::FileName m_jarSigner;
|
||||||
|
Utils::FileName m_zipAligner;
|
||||||
// more for checkLibraries
|
// more for checkLibraries
|
||||||
Utils::FileName m_appPath;
|
Utils::FileName m_appPath;
|
||||||
Utils::FileName m_readElf;
|
Utils::FileName m_readElf;
|
||||||
|
Reference in New Issue
Block a user