/** * Returns a new {@code ApkSigner} instance initialized according to the configuration of * this builder. */ public ApkSigner build() { return new ApkSigner( mSignerConfigs, mMinSdkVersion, mV1SigningEnabled, mV2SigningEnabled, mOtherSignersSignaturesPreserved, mCreatedBy, mSignerEngine, mInputApkFile, mInputApkDataSource, mOutputApkFile, mOutputApkDataSink, mOutputApkDataSource); } }
.setOutputApk(signedApk.toFile()) .build(); apkSigner.sign();
ByteBuffer inputCd = getZipCentralDirectory(inputApk, inputZipSections); List<CentralDirectoryRecord> inputCdRecords = parseZipCentralDirectory(inputCd, inputZipSections); } else { minSdkVersion = getMinSdkVersionFromApk(inputCdRecords, inputApkLfhSection); entryInstructions.getInspectJarEntryRequest(); if (inspectEntryRequest != null) { fulfillInspectInputJarEntryRequest( inputApkLfhSection, inputLocalFileRecord, inspectEntryRequest); fulfillInspectInputJarEntryRequest( inputApkLfhSection, inputLocalFileRecord, inspectEntryRequest); outputInputJarEntryLfhRecordPreservingDataAlignment( inputApkLfhSection, inputLocalFileRecord,
int dataAlignmentMultiple = getInputJarEntryDataAlignmentMultiple(inputRecord); if ((dataAlignmentMultiple <= 1) || ((inputOffset % dataAlignmentMultiple) createExtraFieldToAlignData( inputRecord.getExtra(), outputOffset + inputRecord.getExtraFieldStartOffsetInsideRecord(),
ApkSigner.getMinSdkVersionFromApk( cdRecords, apk.slice(0, zipSections.getZipCentralDirectoryOffset())); if (minSdkVersion > mMaxSdkVersion) {
sign(inputApk, outputApkOut, outputApkIn); } finally { if (out != null) {