Codota Logo
ApkVerifier$Result
Code IndexAdd Codota to your IDE (free)

How to use
ApkVerifier$Result
in
com.android.apksig

Best Java code snippets using com.android.apksig.ApkVerifier$Result (Showing top 7 results out of 315)

  • Common ways to obtain ApkVerifier$Result
private void myMethod () {
ApkVerifier$Result a =
  • Codota IconApkVerifier apkVerifier;apkVerifier.verify()
  • Smart code suggestions by Codota
}
origin: mcxiaoke/packer-ng-plugin

public static boolean verifyApk(File file) throws IOException {
  ApkVerifier verifier = new Builder(file).build();
  try {
    Result result = verifier.verify();
    return result.isVerified()
        && result.isVerifiedUsingV1Scheme()
        && result.isVerifiedUsingV2Scheme();
  } catch (ApkFormatException e) {
    throw new IOException(e);
  } catch (NoSuchAlgorithmException e) {
    throw new IOException(e);
  }
}
origin: skylot/jadx

if (result.isVerified()) {
  builder.escape(NLS.str("apkSignature.verificationSuccess"));
} else {
final String sigFail = NLS.str("apkSignature.signatureFailed");
writeIssues(builder, err, result.getErrors());
writeIssues(builder, warn, result.getWarnings());
if (!result.getV1SchemeSigners().isEmpty()) {
  builder.append("<h2>");
  builder.escape(String.format(result.isVerifiedUsingV1Scheme() ? sigSucc : sigFail, 1));
  builder.append("</h2>\n");
  for (ApkVerifier.Result.V1SchemeSignerInfo signer : result.getV1SchemeSigners()) {
    builder.append("<h3>");
    builder.escape(NLS.str("apkSignature.signer"));
if (!result.getV2SchemeSigners().isEmpty()) {
  builder.append("<h2>");
  builder.escape(String.format(result.isVerifiedUsingV2Scheme() ? sigSucc : sigFail, 2));
  builder.append("</h2>\n");
  for (ApkVerifier.Result.V2SchemeSignerInfo signer : result.getV2SchemeSigners()) {
    builder.append("<h3>");
    builder.escape(NLS.str("apkSignature.signer"));
origin: mcxiaoke/packer-ng-plugin

  public static boolean apkVerified(File f) throws ApkFormatException,
      NoSuchAlgorithmException,
      IOException {
    ApkVerifier verifier = new Builder(f).build();
    Result result = verifier.verify();
    return result.isVerified()
        && result.isVerifiedUsingV1Scheme()
        && result.isVerifiedUsingV2Scheme()
        && !result.containsErrors();
  }
}
origin: mcxiaoke/packer-ng-plugin

public void testOverrideSignature() throws IOException,
    ApkFormatException,
    NoSuchAlgorithmException {
  File f = newTestFile();
  // don't write with APK Signature Scheme v2 Block ID 0x7109871a
  PackerCommon.writeString(f, "OverrideSignatureSchemeBlock", 0x7109871a);
  assertEquals("OverrideSignatureSchemeBlock", PackerCommon.readString(f, 0x7109871a));
  ApkVerifier verifier = new Builder(f).build();
  Result result = verifier.verify();
  final List<IssueWithParams> errors = result.getErrors();
  if (errors != null && errors.size() > 0) {
    for (IssueWithParams error : errors) {
      System.out.println("testOverrideSignature " + error);
    }
  }
  assertTrue(result.containsErrors());
  assertFalse(result.isVerified());
  assertFalse(result.isVerifiedUsingV1Scheme());
  assertFalse(result.isVerifiedUsingV2Scheme());
}
origin: google/bundletool

private void assertThatApksAreSigned(
  BuildApksResult result, ZipFile apkSetFile, X509Certificate expectedCertificate)
  throws Exception {
 for (Variant variant : result.getVariantList()) {
  for (ApkSet apkSet : variant.getApkSetList()) {
   for (ApkDescription apkDescription : apkSet.getApkDescriptionList()) {
    File apk = extractFromApkSetFile(apkSetFile, apkDescription.getPath(), outputDir);
    ApkVerifier.Result verifierResult = new ApkVerifier.Builder(apk).build().verify();
    assertThat(verifierResult.isVerified()).isTrue();
    assertThat(verifierResult.getSignerCertificates()).containsExactly(expectedCertificate);
   }
  }
 }
}
origin: patrickfav/uber-apk-signer

boolean verified = apkVerifierResult.isVerified();
Iterator iter;
if (verified) {
  List signerCertificates = apkVerifierResult.getSignerCertificates();
  logMsg.append("Verifies\n");
  logMsg.append("Verified using v1 scheme (JAR signing): ").append(apkVerifierResult.isVerifiedUsingV1Scheme());
  logMsg.append("Verified using v2 scheme (APK Signature Scheme v2): ").append(apkVerifierResult.isVerifiedUsingV2Scheme());
  logMsg.append("Number of signers: ").append(signerCertificates.size());
errors.addAll(apkVerifierResult.getErrors().stream().map(error -> "ERROR: " + error).collect(Collectors.toList()));
Iterator warningIter = apkVerifierResult.getWarnings().iterator();
warningIter = apkVerifierResult.getV1SchemeSigners().iterator();
warningIter = apkVerifierResult.getV2SchemeSigners().iterator();
  return new Result(false, warnings, errors, logMsg.toString(), apkVerifierResult.isVerifiedUsingV1Scheme(), apkVerifierResult.isVerifiedUsingV2Scheme(), certInfoList);
return new Result(true, warnings, errors, logMsg.toString(), apkVerifierResult.isVerifiedUsingV1Scheme(), apkVerifierResult.isVerifiedUsingV2Scheme(), certInfoList);
origin: mcxiaoke/ApkSigner

Result result = new Result();
    result.mergeFrom(v2Result);
  } catch (V2SchemeVerifier.SignatureNotFoundException ignored) {}
  if (result.containsErrors()) {
    return result;
if (result.containsErrors()) {
  return result;
if ((result.isVerifiedUsingV1Scheme()) && (result.isVerifiedUsingV2Scheme())) {
  ArrayList<Result.V1SchemeSignerInfo> v1Signers =
      new ArrayList<>(result.getV1SchemeSigners());
  ArrayList<Result.V2SchemeSignerInfo> v2Signers =
      new ArrayList<>(result.getV2SchemeSigners());
  ArrayList<ByteArray> v1SignerCerts = new ArrayList<>();
  ArrayList<ByteArray> v2SignerCerts = new ArrayList<>();
if (result.containsErrors()) {
  return result;
if (result.isVerifiedUsingV2Scheme()) {
  for (Result.V2SchemeSignerInfo signerInfo : result.getV2SchemeSigners()) {
    result.addSignerCertificate(signerInfo.getCertificate());
} else if (result.isVerifiedUsingV1Scheme()) {
  for (Result.V1SchemeSignerInfo signerInfo : result.getV1SchemeSigners()) {
    result.addSignerCertificate(signerInfo.getCertificate());
com.android.apksigApkVerifier$Result

Javadoc

Result of verifying an APKs signatures. The APK can be considered verified iff #isVerified() returns true.

Most used methods

  • isVerified
    Returns true if the APK's signatures verified.
  • isVerifiedUsingV1Scheme
    Returns true if the APK's JAR signatures verified.
  • isVerifiedUsingV2Scheme
    Returns true if the APK's APK Signature Scheme v2 signatures verified.
  • getErrors
    Returns errors encountered while verifying the APK's signatures.
  • getV1SchemeSigners
    Returns information about JAR signers associated with the APK's signature. These are the signers use
  • getV2SchemeSigners
    Returns information about APK Signature Scheme v2 signers associated with the APK's signature.
  • containsErrors
    Returns true if an error was encountered while verifying the APK. Any error prevents the APK from be
  • getSignerCertificates
    Returns the verified signers' certificates, one per signer.
  • getWarnings
    Returns warnings encountered while verifying the APK's signatures.
  • <init>

Popular in Java

  • Start an intent from android
  • getApplicationContext (Context)
  • requestLocationUpdates (LocationManager)
  • notifyDataSetChanged (ArrayAdapter)
  • BufferedImage (java.awt.image)
    The BufferedImage subclass describes an java.awt.Image with an accessible buffer of image data. All
  • ServerSocket (java.net)
    This class represents a server-side socket that waits for incoming client connections. A ServerSocke
  • Charset (java.nio.charset)
    A charset is a named mapping between Unicode characters and byte sequences. Every Charset can decode
  • Permission (java.security)
    Abstract class for representing access to a system resource. All permissions have a name (whose inte
  • Format (java.text)
    The base class for all formats. This is an abstract base class which specifies the protocol for clas
  • Response (javax.ws.rs.core)
    Defines the contract between a returned instance and the runtime when an application needs to provid
Codota Logo
  • Products

    Search for Java codeSearch for JavaScript codeEnterprise
  • IDE Plugins

    IntelliJ IDEAWebStormAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogCodota Academy Plugin user guide Terms of usePrivacy policyJava Code IndexJavascript Code Index
Get Codota for your IDE now