// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: apex_build_info.proto

package com.android.apex;

public final class ApexBuildInfoOuterClass {
  private ApexBuildInfoOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface ApexBuildInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:apex.proto.ApexBuildInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Apexer command line.
     * </pre>
     *
     * <code>string apexer_command_line = 1;</code>
     * @return The apexerCommandLine.
     */
    java.lang.String getApexerCommandLine();
    /**
     * <pre>
     * Apexer command line.
     * </pre>
     *
     * <code>string apexer_command_line = 1;</code>
     * @return The bytes for apexerCommandLine.
     */
    com.google.protobuf.ByteString
        getApexerCommandLineBytes();

    /**
     * <pre>
     * Content of the selinux file contexts file.
     * </pre>
     *
     * <code>bytes file_contexts = 2;</code>
     * @return The fileContexts.
     */
    com.google.protobuf.ByteString getFileContexts();

    /**
     * <pre>
     * Content of the canned_fs_config specifying uid/gid/mode of files.
     * </pre>
     *
     * <code>bytes canned_fs_config = 3;</code>
     * @return The cannedFsConfig.
     */
    com.google.protobuf.ByteString getCannedFsConfig();

    /**
     * <pre>
     * Content of the original AndroidManifest.xml, before being compiled by aapt.
     * </pre>
     *
     * <code>bytes android_manifest = 4;</code>
     * @return The androidManifest.
     */
    com.google.protobuf.ByteString getAndroidManifest();

    /**
     * <pre>
     * Value of --min_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string min_sdk_version = 5;</code>
     * @return The minSdkVersion.
     */
    java.lang.String getMinSdkVersion();
    /**
     * <pre>
     * Value of --min_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string min_sdk_version = 5;</code>
     * @return The bytes for minSdkVersion.
     */
    com.google.protobuf.ByteString
        getMinSdkVersionBytes();

    /**
     * <pre>
     * Value of --target_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string target_sdk_version = 6;</code>
     * @return The targetSdkVersion.
     */
    java.lang.String getTargetSdkVersion();
    /**
     * <pre>
     * Value of --target_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string target_sdk_version = 6;</code>
     * @return The bytes for targetSdkVersion.
     */
    com.google.protobuf.ByteString
        getTargetSdkVersionBytes();

    /**
     * <pre>
     * Whether the --no_hashtree option was set at build time.
     * </pre>
     *
     * <code>bool no_hashtree = 7;</code>
     * @return The noHashtree.
     */
    boolean getNoHashtree();

    /**
     * <pre>
     * Value of --override_apk_package_name passed at build itme.
     * </pre>
     *
     * <code>string override_apk_package_name = 8;</code>
     * @return The overrideApkPackageName.
     */
    java.lang.String getOverrideApkPackageName();
    /**
     * <pre>
     * Value of --override_apk_package_name passed at build itme.
     * </pre>
     *
     * <code>string override_apk_package_name = 8;</code>
     * @return The bytes for overrideApkPackageName.
     */
    com.google.protobuf.ByteString
        getOverrideApkPackageNameBytes();

    /**
     * <pre>
     * Value of --logging_parent passed at build time.
     * </pre>
     *
     * <code>string logging_parent = 9;</code>
     * @return The loggingParent.
     */
    java.lang.String getLoggingParent();
    /**
     * <pre>
     * Value of --logging_parent passed at build time.
     * </pre>
     *
     * <code>string logging_parent = 9;</code>
     * @return The bytes for loggingParent.
     */
    com.google.protobuf.ByteString
        getLoggingParentBytes();

    /**
     * <pre>
     * Value of --payload_fs_type passed at build time.
     * </pre>
     *
     * <code>string payload_fs_type = 10;</code>
     * @return The payloadFsType.
     */
    java.lang.String getPayloadFsType();
    /**
     * <pre>
     * Value of --payload_fs_type passed at build time.
     * </pre>
     *
     * <code>string payload_fs_type = 10;</code>
     * @return The bytes for payloadFsType.
     */
    com.google.protobuf.ByteString
        getPayloadFsTypeBytes();
  }
  /**
   * Protobuf type {@code apex.proto.ApexBuildInfo}
   */
  public static final class ApexBuildInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:apex.proto.ApexBuildInfo)
      ApexBuildInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ApexBuildInfo.newBuilder() to construct.
    private ApexBuildInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ApexBuildInfo() {
      apexerCommandLine_ = "";
      fileContexts_ = com.google.protobuf.ByteString.EMPTY;
      cannedFsConfig_ = com.google.protobuf.ByteString.EMPTY;
      androidManifest_ = com.google.protobuf.ByteString.EMPTY;
      minSdkVersion_ = "";
      targetSdkVersion_ = "";
      overrideApkPackageName_ = "";
      loggingParent_ = "";
      payloadFsType_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ApexBuildInfo();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ApexBuildInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              apexerCommandLine_ = s;
              break;
            }
            case 18: {

              fileContexts_ = input.readBytes();
              break;
            }
            case 26: {

              cannedFsConfig_ = input.readBytes();
              break;
            }
            case 34: {

              androidManifest_ = input.readBytes();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              minSdkVersion_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              targetSdkVersion_ = s;
              break;
            }
            case 56: {

              noHashtree_ = input.readBool();
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              overrideApkPackageName_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              loggingParent_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              payloadFsType_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.android.apex.ApexBuildInfoOuterClass.internal_static_apex_proto_ApexBuildInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.android.apex.ApexBuildInfoOuterClass.internal_static_apex_proto_ApexBuildInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.class, com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.Builder.class);
    }

    public static final int APEXER_COMMAND_LINE_FIELD_NUMBER = 1;
    private volatile java.lang.Object apexerCommandLine_;
    /**
     * <pre>
     * Apexer command line.
     * </pre>
     *
     * <code>string apexer_command_line = 1;</code>
     * @return The apexerCommandLine.
     */
    @java.lang.Override
    public java.lang.String getApexerCommandLine() {
      java.lang.Object ref = apexerCommandLine_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        apexerCommandLine_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Apexer command line.
     * </pre>
     *
     * <code>string apexer_command_line = 1;</code>
     * @return The bytes for apexerCommandLine.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getApexerCommandLineBytes() {
      java.lang.Object ref = apexerCommandLine_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        apexerCommandLine_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FILE_CONTEXTS_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString fileContexts_;
    /**
     * <pre>
     * Content of the selinux file contexts file.
     * </pre>
     *
     * <code>bytes file_contexts = 2;</code>
     * @return The fileContexts.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getFileContexts() {
      return fileContexts_;
    }

    public static final int CANNED_FS_CONFIG_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString cannedFsConfig_;
    /**
     * <pre>
     * Content of the canned_fs_config specifying uid/gid/mode of files.
     * </pre>
     *
     * <code>bytes canned_fs_config = 3;</code>
     * @return The cannedFsConfig.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getCannedFsConfig() {
      return cannedFsConfig_;
    }

    public static final int ANDROID_MANIFEST_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString androidManifest_;
    /**
     * <pre>
     * Content of the original AndroidManifest.xml, before being compiled by aapt.
     * </pre>
     *
     * <code>bytes android_manifest = 4;</code>
     * @return The androidManifest.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getAndroidManifest() {
      return androidManifest_;
    }

    public static final int MIN_SDK_VERSION_FIELD_NUMBER = 5;
    private volatile java.lang.Object minSdkVersion_;
    /**
     * <pre>
     * Value of --min_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string min_sdk_version = 5;</code>
     * @return The minSdkVersion.
     */
    @java.lang.Override
    public java.lang.String getMinSdkVersion() {
      java.lang.Object ref = minSdkVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        minSdkVersion_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Value of --min_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string min_sdk_version = 5;</code>
     * @return The bytes for minSdkVersion.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMinSdkVersionBytes() {
      java.lang.Object ref = minSdkVersion_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        minSdkVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TARGET_SDK_VERSION_FIELD_NUMBER = 6;
    private volatile java.lang.Object targetSdkVersion_;
    /**
     * <pre>
     * Value of --target_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string target_sdk_version = 6;</code>
     * @return The targetSdkVersion.
     */
    @java.lang.Override
    public java.lang.String getTargetSdkVersion() {
      java.lang.Object ref = targetSdkVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        targetSdkVersion_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Value of --target_sdk_version parameter passed at build time.
     * </pre>
     *
     * <code>string target_sdk_version = 6;</code>
     * @return The bytes for targetSdkVersion.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTargetSdkVersionBytes() {
      java.lang.Object ref = targetSdkVersion_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        targetSdkVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NO_HASHTREE_FIELD_NUMBER = 7;
    private boolean noHashtree_;
    /**
     * <pre>
     * Whether the --no_hashtree option was set at build time.
     * </pre>
     *
     * <code>bool no_hashtree = 7;</code>
     * @return The noHashtree.
     */
    @java.lang.Override
    public boolean getNoHashtree() {
      return noHashtree_;
    }

    public static final int OVERRIDE_APK_PACKAGE_NAME_FIELD_NUMBER = 8;
    private volatile java.lang.Object overrideApkPackageName_;
    /**
     * <pre>
     * Value of --override_apk_package_name passed at build itme.
     * </pre>
     *
     * <code>string override_apk_package_name = 8;</code>
     * @return The overrideApkPackageName.
     */
    @java.lang.Override
    public java.lang.String getOverrideApkPackageName() {
      java.lang.Object ref = overrideApkPackageName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        overrideApkPackageName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Value of --override_apk_package_name passed at build itme.
     * </pre>
     *
     * <code>string override_apk_package_name = 8;</code>
     * @return The bytes for overrideApkPackageName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getOverrideApkPackageNameBytes() {
      java.lang.Object ref = overrideApkPackageName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        overrideApkPackageName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LOGGING_PARENT_FIELD_NUMBER = 9;
    private volatile java.lang.Object loggingParent_;
    /**
     * <pre>
     * Value of --logging_parent passed at build time.
     * </pre>
     *
     * <code>string logging_parent = 9;</code>
     * @return The loggingParent.
     */
    @java.lang.Override
    public java.lang.String getLoggingParent() {
      java.lang.Object ref = loggingParent_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        loggingParent_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Value of --logging_parent passed at build time.
     * </pre>
     *
     * <code>string logging_parent = 9;</code>
     * @return The bytes for loggingParent.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLoggingParentBytes() {
      java.lang.Object ref = loggingParent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        loggingParent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PAYLOAD_FS_TYPE_FIELD_NUMBER = 10;
    private volatile java.lang.Object payloadFsType_;
    /**
     * <pre>
     * Value of --payload_fs_type passed at build time.
     * </pre>
     *
     * <code>string payload_fs_type = 10;</code>
     * @return The payloadFsType.
     */
    @java.lang.Override
    public java.lang.String getPayloadFsType() {
      java.lang.Object ref = payloadFsType_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        payloadFsType_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Value of --payload_fs_type passed at build time.
     * </pre>
     *
     * <code>string payload_fs_type = 10;</code>
     * @return The bytes for payloadFsType.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPayloadFsTypeBytes() {
      java.lang.Object ref = payloadFsType_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        payloadFsType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getApexerCommandLineBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, apexerCommandLine_);
      }
      if (!fileContexts_.isEmpty()) {
        output.writeBytes(2, fileContexts_);
      }
      if (!cannedFsConfig_.isEmpty()) {
        output.writeBytes(3, cannedFsConfig_);
      }
      if (!androidManifest_.isEmpty()) {
        output.writeBytes(4, androidManifest_);
      }
      if (!getMinSdkVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, minSdkVersion_);
      }
      if (!getTargetSdkVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, targetSdkVersion_);
      }
      if (noHashtree_ != false) {
        output.writeBool(7, noHashtree_);
      }
      if (!getOverrideApkPackageNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, overrideApkPackageName_);
      }
      if (!getLoggingParentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, loggingParent_);
      }
      if (!getPayloadFsTypeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, payloadFsType_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getApexerCommandLineBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, apexerCommandLine_);
      }
      if (!fileContexts_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, fileContexts_);
      }
      if (!cannedFsConfig_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, cannedFsConfig_);
      }
      if (!androidManifest_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, androidManifest_);
      }
      if (!getMinSdkVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, minSdkVersion_);
      }
      if (!getTargetSdkVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, targetSdkVersion_);
      }
      if (noHashtree_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, noHashtree_);
      }
      if (!getOverrideApkPackageNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, overrideApkPackageName_);
      }
      if (!getLoggingParentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, loggingParent_);
      }
      if (!getPayloadFsTypeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, payloadFsType_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo)) {
        return super.equals(obj);
      }
      com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo other = (com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo) obj;

      if (!getApexerCommandLine()
          .equals(other.getApexerCommandLine())) return false;
      if (!getFileContexts()
          .equals(other.getFileContexts())) return false;
      if (!getCannedFsConfig()
          .equals(other.getCannedFsConfig())) return false;
      if (!getAndroidManifest()
          .equals(other.getAndroidManifest())) return false;
      if (!getMinSdkVersion()
          .equals(other.getMinSdkVersion())) return false;
      if (!getTargetSdkVersion()
          .equals(other.getTargetSdkVersion())) return false;
      if (getNoHashtree()
          != other.getNoHashtree()) return false;
      if (!getOverrideApkPackageName()
          .equals(other.getOverrideApkPackageName())) return false;
      if (!getLoggingParent()
          .equals(other.getLoggingParent())) return false;
      if (!getPayloadFsType()
          .equals(other.getPayloadFsType())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + APEXER_COMMAND_LINE_FIELD_NUMBER;
      hash = (53 * hash) + getApexerCommandLine().hashCode();
      hash = (37 * hash) + FILE_CONTEXTS_FIELD_NUMBER;
      hash = (53 * hash) + getFileContexts().hashCode();
      hash = (37 * hash) + CANNED_FS_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getCannedFsConfig().hashCode();
      hash = (37 * hash) + ANDROID_MANIFEST_FIELD_NUMBER;
      hash = (53 * hash) + getAndroidManifest().hashCode();
      hash = (37 * hash) + MIN_SDK_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getMinSdkVersion().hashCode();
      hash = (37 * hash) + TARGET_SDK_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getTargetSdkVersion().hashCode();
      hash = (37 * hash) + NO_HASHTREE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getNoHashtree());
      hash = (37 * hash) + OVERRIDE_APK_PACKAGE_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getOverrideApkPackageName().hashCode();
      hash = (37 * hash) + LOGGING_PARENT_FIELD_NUMBER;
      hash = (53 * hash) + getLoggingParent().hashCode();
      hash = (37 * hash) + PAYLOAD_FS_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getPayloadFsType().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code apex.proto.ApexBuildInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:apex.proto.ApexBuildInfo)
        com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.android.apex.ApexBuildInfoOuterClass.internal_static_apex_proto_ApexBuildInfo_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.android.apex.ApexBuildInfoOuterClass.internal_static_apex_proto_ApexBuildInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.class, com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.Builder.class);
      }

      // Construct using com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        apexerCommandLine_ = "";

        fileContexts_ = com.google.protobuf.ByteString.EMPTY;

        cannedFsConfig_ = com.google.protobuf.ByteString.EMPTY;

        androidManifest_ = com.google.protobuf.ByteString.EMPTY;

        minSdkVersion_ = "";

        targetSdkVersion_ = "";

        noHashtree_ = false;

        overrideApkPackageName_ = "";

        loggingParent_ = "";

        payloadFsType_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.android.apex.ApexBuildInfoOuterClass.internal_static_apex_proto_ApexBuildInfo_descriptor;
      }

      @java.lang.Override
      public com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo getDefaultInstanceForType() {
        return com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.getDefaultInstance();
      }

      @java.lang.Override
      public com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo build() {
        com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo buildPartial() {
        com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo result = new com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo(this);
        result.apexerCommandLine_ = apexerCommandLine_;
        result.fileContexts_ = fileContexts_;
        result.cannedFsConfig_ = cannedFsConfig_;
        result.androidManifest_ = androidManifest_;
        result.minSdkVersion_ = minSdkVersion_;
        result.targetSdkVersion_ = targetSdkVersion_;
        result.noHashtree_ = noHashtree_;
        result.overrideApkPackageName_ = overrideApkPackageName_;
        result.loggingParent_ = loggingParent_;
        result.payloadFsType_ = payloadFsType_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo) {
          return mergeFrom((com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo other) {
        if (other == com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo.getDefaultInstance()) return this;
        if (!other.getApexerCommandLine().isEmpty()) {
          apexerCommandLine_ = other.apexerCommandLine_;
          onChanged();
        }
        if (other.getFileContexts() != com.google.protobuf.ByteString.EMPTY) {
          setFileContexts(other.getFileContexts());
        }
        if (other.getCannedFsConfig() != com.google.protobuf.ByteString.EMPTY) {
          setCannedFsConfig(other.getCannedFsConfig());
        }
        if (other.getAndroidManifest() != com.google.protobuf.ByteString.EMPTY) {
          setAndroidManifest(other.getAndroidManifest());
        }
        if (!other.getMinSdkVersion().isEmpty()) {
          minSdkVersion_ = other.minSdkVersion_;
          onChanged();
        }
        if (!other.getTargetSdkVersion().isEmpty()) {
          targetSdkVersion_ = other.targetSdkVersion_;
          onChanged();
        }
        if (other.getNoHashtree() != false) {
          setNoHashtree(other.getNoHashtree());
        }
        if (!other.getOverrideApkPackageName().isEmpty()) {
          overrideApkPackageName_ = other.overrideApkPackageName_;
          onChanged();
        }
        if (!other.getLoggingParent().isEmpty()) {
          loggingParent_ = other.loggingParent_;
          onChanged();
        }
        if (!other.getPayloadFsType().isEmpty()) {
          payloadFsType_ = other.payloadFsType_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object apexerCommandLine_ = "";
      /**
       * <pre>
       * Apexer command line.
       * </pre>
       *
       * <code>string apexer_command_line = 1;</code>
       * @return The apexerCommandLine.
       */
      public java.lang.String getApexerCommandLine() {
        java.lang.Object ref = apexerCommandLine_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          apexerCommandLine_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Apexer command line.
       * </pre>
       *
       * <code>string apexer_command_line = 1;</code>
       * @return The bytes for apexerCommandLine.
       */
      public com.google.protobuf.ByteString
          getApexerCommandLineBytes() {
        java.lang.Object ref = apexerCommandLine_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          apexerCommandLine_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Apexer command line.
       * </pre>
       *
       * <code>string apexer_command_line = 1;</code>
       * @param value The apexerCommandLine to set.
       * @return This builder for chaining.
       */
      public Builder setApexerCommandLine(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        apexerCommandLine_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Apexer command line.
       * </pre>
       *
       * <code>string apexer_command_line = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearApexerCommandLine() {
        
        apexerCommandLine_ = getDefaultInstance().getApexerCommandLine();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Apexer command line.
       * </pre>
       *
       * <code>string apexer_command_line = 1;</code>
       * @param value The bytes for apexerCommandLine to set.
       * @return This builder for chaining.
       */
      public Builder setApexerCommandLineBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        apexerCommandLine_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString fileContexts_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       * Content of the selinux file contexts file.
       * </pre>
       *
       * <code>bytes file_contexts = 2;</code>
       * @return The fileContexts.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getFileContexts() {
        return fileContexts_;
      }
      /**
       * <pre>
       * Content of the selinux file contexts file.
       * </pre>
       *
       * <code>bytes file_contexts = 2;</code>
       * @param value The fileContexts to set.
       * @return This builder for chaining.
       */
      public Builder setFileContexts(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        fileContexts_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Content of the selinux file contexts file.
       * </pre>
       *
       * <code>bytes file_contexts = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFileContexts() {
        
        fileContexts_ = getDefaultInstance().getFileContexts();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString cannedFsConfig_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       * Content of the canned_fs_config specifying uid/gid/mode of files.
       * </pre>
       *
       * <code>bytes canned_fs_config = 3;</code>
       * @return The cannedFsConfig.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getCannedFsConfig() {
        return cannedFsConfig_;
      }
      /**
       * <pre>
       * Content of the canned_fs_config specifying uid/gid/mode of files.
       * </pre>
       *
       * <code>bytes canned_fs_config = 3;</code>
       * @param value The cannedFsConfig to set.
       * @return This builder for chaining.
       */
      public Builder setCannedFsConfig(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cannedFsConfig_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Content of the canned_fs_config specifying uid/gid/mode of files.
       * </pre>
       *
       * <code>bytes canned_fs_config = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearCannedFsConfig() {
        
        cannedFsConfig_ = getDefaultInstance().getCannedFsConfig();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString androidManifest_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       * Content of the original AndroidManifest.xml, before being compiled by aapt.
       * </pre>
       *
       * <code>bytes android_manifest = 4;</code>
       * @return The androidManifest.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getAndroidManifest() {
        return androidManifest_;
      }
      /**
       * <pre>
       * Content of the original AndroidManifest.xml, before being compiled by aapt.
       * </pre>
       *
       * <code>bytes android_manifest = 4;</code>
       * @param value The androidManifest to set.
       * @return This builder for chaining.
       */
      public Builder setAndroidManifest(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        androidManifest_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Content of the original AndroidManifest.xml, before being compiled by aapt.
       * </pre>
       *
       * <code>bytes android_manifest = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearAndroidManifest() {
        
        androidManifest_ = getDefaultInstance().getAndroidManifest();
        onChanged();
        return this;
      }

      private java.lang.Object minSdkVersion_ = "";
      /**
       * <pre>
       * Value of --min_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string min_sdk_version = 5;</code>
       * @return The minSdkVersion.
       */
      public java.lang.String getMinSdkVersion() {
        java.lang.Object ref = minSdkVersion_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          minSdkVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Value of --min_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string min_sdk_version = 5;</code>
       * @return The bytes for minSdkVersion.
       */
      public com.google.protobuf.ByteString
          getMinSdkVersionBytes() {
        java.lang.Object ref = minSdkVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          minSdkVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Value of --min_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string min_sdk_version = 5;</code>
       * @param value The minSdkVersion to set.
       * @return This builder for chaining.
       */
      public Builder setMinSdkVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        minSdkVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --min_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string min_sdk_version = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearMinSdkVersion() {
        
        minSdkVersion_ = getDefaultInstance().getMinSdkVersion();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --min_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string min_sdk_version = 5;</code>
       * @param value The bytes for minSdkVersion to set.
       * @return This builder for chaining.
       */
      public Builder setMinSdkVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        minSdkVersion_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object targetSdkVersion_ = "";
      /**
       * <pre>
       * Value of --target_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string target_sdk_version = 6;</code>
       * @return The targetSdkVersion.
       */
      public java.lang.String getTargetSdkVersion() {
        java.lang.Object ref = targetSdkVersion_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          targetSdkVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Value of --target_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string target_sdk_version = 6;</code>
       * @return The bytes for targetSdkVersion.
       */
      public com.google.protobuf.ByteString
          getTargetSdkVersionBytes() {
        java.lang.Object ref = targetSdkVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          targetSdkVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Value of --target_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string target_sdk_version = 6;</code>
       * @param value The targetSdkVersion to set.
       * @return This builder for chaining.
       */
      public Builder setTargetSdkVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        targetSdkVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --target_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string target_sdk_version = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearTargetSdkVersion() {
        
        targetSdkVersion_ = getDefaultInstance().getTargetSdkVersion();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --target_sdk_version parameter passed at build time.
       * </pre>
       *
       * <code>string target_sdk_version = 6;</code>
       * @param value The bytes for targetSdkVersion to set.
       * @return This builder for chaining.
       */
      public Builder setTargetSdkVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        targetSdkVersion_ = value;
        onChanged();
        return this;
      }

      private boolean noHashtree_ ;
      /**
       * <pre>
       * Whether the --no_hashtree option was set at build time.
       * </pre>
       *
       * <code>bool no_hashtree = 7;</code>
       * @return The noHashtree.
       */
      @java.lang.Override
      public boolean getNoHashtree() {
        return noHashtree_;
      }
      /**
       * <pre>
       * Whether the --no_hashtree option was set at build time.
       * </pre>
       *
       * <code>bool no_hashtree = 7;</code>
       * @param value The noHashtree to set.
       * @return This builder for chaining.
       */
      public Builder setNoHashtree(boolean value) {
        
        noHashtree_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Whether the --no_hashtree option was set at build time.
       * </pre>
       *
       * <code>bool no_hashtree = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearNoHashtree() {
        
        noHashtree_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object overrideApkPackageName_ = "";
      /**
       * <pre>
       * Value of --override_apk_package_name passed at build itme.
       * </pre>
       *
       * <code>string override_apk_package_name = 8;</code>
       * @return The overrideApkPackageName.
       */
      public java.lang.String getOverrideApkPackageName() {
        java.lang.Object ref = overrideApkPackageName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          overrideApkPackageName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Value of --override_apk_package_name passed at build itme.
       * </pre>
       *
       * <code>string override_apk_package_name = 8;</code>
       * @return The bytes for overrideApkPackageName.
       */
      public com.google.protobuf.ByteString
          getOverrideApkPackageNameBytes() {
        java.lang.Object ref = overrideApkPackageName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          overrideApkPackageName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Value of --override_apk_package_name passed at build itme.
       * </pre>
       *
       * <code>string override_apk_package_name = 8;</code>
       * @param value The overrideApkPackageName to set.
       * @return This builder for chaining.
       */
      public Builder setOverrideApkPackageName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        overrideApkPackageName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --override_apk_package_name passed at build itme.
       * </pre>
       *
       * <code>string override_apk_package_name = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearOverrideApkPackageName() {
        
        overrideApkPackageName_ = getDefaultInstance().getOverrideApkPackageName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --override_apk_package_name passed at build itme.
       * </pre>
       *
       * <code>string override_apk_package_name = 8;</code>
       * @param value The bytes for overrideApkPackageName to set.
       * @return This builder for chaining.
       */
      public Builder setOverrideApkPackageNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        overrideApkPackageName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object loggingParent_ = "";
      /**
       * <pre>
       * Value of --logging_parent passed at build time.
       * </pre>
       *
       * <code>string logging_parent = 9;</code>
       * @return The loggingParent.
       */
      public java.lang.String getLoggingParent() {
        java.lang.Object ref = loggingParent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          loggingParent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Value of --logging_parent passed at build time.
       * </pre>
       *
       * <code>string logging_parent = 9;</code>
       * @return The bytes for loggingParent.
       */
      public com.google.protobuf.ByteString
          getLoggingParentBytes() {
        java.lang.Object ref = loggingParent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          loggingParent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Value of --logging_parent passed at build time.
       * </pre>
       *
       * <code>string logging_parent = 9;</code>
       * @param value The loggingParent to set.
       * @return This builder for chaining.
       */
      public Builder setLoggingParent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        loggingParent_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --logging_parent passed at build time.
       * </pre>
       *
       * <code>string logging_parent = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearLoggingParent() {
        
        loggingParent_ = getDefaultInstance().getLoggingParent();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --logging_parent passed at build time.
       * </pre>
       *
       * <code>string logging_parent = 9;</code>
       * @param value The bytes for loggingParent to set.
       * @return This builder for chaining.
       */
      public Builder setLoggingParentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        loggingParent_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object payloadFsType_ = "";
      /**
       * <pre>
       * Value of --payload_fs_type passed at build time.
       * </pre>
       *
       * <code>string payload_fs_type = 10;</code>
       * @return The payloadFsType.
       */
      public java.lang.String getPayloadFsType() {
        java.lang.Object ref = payloadFsType_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          payloadFsType_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Value of --payload_fs_type passed at build time.
       * </pre>
       *
       * <code>string payload_fs_type = 10;</code>
       * @return The bytes for payloadFsType.
       */
      public com.google.protobuf.ByteString
          getPayloadFsTypeBytes() {
        java.lang.Object ref = payloadFsType_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          payloadFsType_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Value of --payload_fs_type passed at build time.
       * </pre>
       *
       * <code>string payload_fs_type = 10;</code>
       * @param value The payloadFsType to set.
       * @return This builder for chaining.
       */
      public Builder setPayloadFsType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        payloadFsType_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --payload_fs_type passed at build time.
       * </pre>
       *
       * <code>string payload_fs_type = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearPayloadFsType() {
        
        payloadFsType_ = getDefaultInstance().getPayloadFsType();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Value of --payload_fs_type passed at build time.
       * </pre>
       *
       * <code>string payload_fs_type = 10;</code>
       * @param value The bytes for payloadFsType to set.
       * @return This builder for chaining.
       */
      public Builder setPayloadFsTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        payloadFsType_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:apex.proto.ApexBuildInfo)
    }

    // @@protoc_insertion_point(class_scope:apex.proto.ApexBuildInfo)
    private static final com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo();
    }

    public static com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ApexBuildInfo>
        PARSER = new com.google.protobuf.AbstractParser<ApexBuildInfo>() {
      @java.lang.Override
      public ApexBuildInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ApexBuildInfo(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<ApexBuildInfo> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ApexBuildInfo> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.android.apex.ApexBuildInfoOuterClass.ApexBuildInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_apex_proto_ApexBuildInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_apex_proto_ApexBuildInfo_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\025apex_build_info.proto\022\napex.proto\"\225\002\n\r" +
      "ApexBuildInfo\022\033\n\023apexer_command_line\030\001 \001" +
      "(\t\022\025\n\rfile_contexts\030\002 \001(\014\022\030\n\020canned_fs_c" +
      "onfig\030\003 \001(\014\022\030\n\020android_manifest\030\004 \001(\014\022\027\n" +
      "\017min_sdk_version\030\005 \001(\t\022\032\n\022target_sdk_ver" +
      "sion\030\006 \001(\t\022\023\n\013no_hashtree\030\007 \001(\010\022!\n\031overr" +
      "ide_apk_package_name\030\010 \001(\t\022\026\n\016logging_pa" +
      "rent\030\t \001(\t\022\027\n\017payload_fs_type\030\n \001(\tB\022\n\020c" +
      "om.android.apexb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_apex_proto_ApexBuildInfo_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_apex_proto_ApexBuildInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_apex_proto_ApexBuildInfo_descriptor,
        new java.lang.String[] { "ApexerCommandLine", "FileContexts", "CannedFsConfig", "AndroidManifest", "MinSdkVersion", "TargetSdkVersion", "NoHashtree", "OverrideApkPackageName", "LoggingParent", "PayloadFsType", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
