You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.5 KiB

/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
package apex.proto;
option java_package = "com.android.apex";
option java_outer_classname = "Protos";
message ApexManifest {
// Package Name
string name = 1;
// Version Number
int64 version = 2;
// Pre Install Hook
string preInstallHook = 3;
// Post Install Hook
string postInstallHook = 4;
// Version Name
string versionName = 5;
// Signals whenever this APEX doesn't contain any executable code.
// If this field is set to true, then apexd will mount this apex
// with MS_NOEXEC flag.
bool noCode = 6;
// List of native libs which can be used by other apexes or system.
repeated string provideNativeLibs = 7;
// List of native libs which this apex uses from other apexes or system.
repeated string requireNativeLibs = 8;
// List of JNI libs.
// linkerconfig/libnativeloader use this field so that java libraries can
// load JNI libraries in the same apex.
// This is supposed to be filled by the build system with libraries which are
// marked as "is_jni: true" from the list of "native_shared_libs".
repeated string jniLibs = 9;
// List of libs required that are located in a shared libraries APEX.
// Format of the content is 'library:hash'.
// Example) libc++.so:83d8f50...
repeated string requireSharedApexLibs = 10;
// Whether this APEX provides libraries to be shared with other APEXs. This
// causes libraries contained in the APEX to be made available under
// /apex/sharedlibs .
bool provideSharedApexLibs = 11;
message CompressedApexMetadata {
// Valid only for compressed APEX. This field contains the root digest of
// the original_apex contained inside CAPEX.
string originalApexDigest = 1;
}
// Exists only for compressed APEX
CompressedApexMetadata capexMetadata = 12;
// Indicates that this APEX can be updated without rebooting device.
bool supportsRebootlessUpdate = 13;
}