xref: /aosp_15_r20/frameworks/base/tools/aapt2/ApkInfo.proto (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker/*
2*d57664e9SAndroid Build Coastguard Worker * Copyright (C) 2022 The Android Open Source Project
3*d57664e9SAndroid Build Coastguard Worker *
4*d57664e9SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*d57664e9SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*d57664e9SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*d57664e9SAndroid Build Coastguard Worker *
8*d57664e9SAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*d57664e9SAndroid Build Coastguard Worker *
10*d57664e9SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*d57664e9SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*d57664e9SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*d57664e9SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*d57664e9SAndroid Build Coastguard Worker * limitations under the License.
15*d57664e9SAndroid Build Coastguard Worker */
16*d57664e9SAndroid Build Coastguard Worker
17*d57664e9SAndroid Build Coastguard Workersyntax = "proto3";
18*d57664e9SAndroid Build Coastguard Worker
19*d57664e9SAndroid Build Coastguard Workerimport "frameworks/base/tools/aapt2/Resources.proto";
20*d57664e9SAndroid Build Coastguard Worker
21*d57664e9SAndroid Build Coastguard Workerpackage aapt.pb;
22*d57664e9SAndroid Build Coastguard Worker
23*d57664e9SAndroid Build Coastguard Workeroption java_package = "com.android.aapt";
24*d57664e9SAndroid Build Coastguard Worker
25*d57664e9SAndroid Build Coastguard Worker// Top level message representing data extracted from the APK for 'apkinfo'
26*d57664e9SAndroid Build Coastguard Worker// command.
27*d57664e9SAndroid Build Coastguard Workermessage ApkInfo {
28*d57664e9SAndroid Build Coastguard Worker  message XmlFile {
29*d57664e9SAndroid Build Coastguard Worker    string path = 1;
30*d57664e9SAndroid Build Coastguard Worker    XmlNode root = 2;
31*d57664e9SAndroid Build Coastguard Worker  }
32*d57664e9SAndroid Build Coastguard Worker
33*d57664e9SAndroid Build Coastguard Worker  Badging badging = 1;
34*d57664e9SAndroid Build Coastguard Worker  ResourceTable resource_table = 2;
35*d57664e9SAndroid Build Coastguard Worker  repeated XmlFile xml_files = 3;
36*d57664e9SAndroid Build Coastguard Worker}
37*d57664e9SAndroid Build Coastguard Worker
38*d57664e9SAndroid Build Coastguard Worker// Data extracted from the manifest of the APK.
39*d57664e9SAndroid Build Coastguard Workermessage Badging {
40*d57664e9SAndroid Build Coastguard Worker  PackageInfo package = 1;
41*d57664e9SAndroid Build Coastguard Worker  Application application = 2;
42*d57664e9SAndroid Build Coastguard Worker  UsesSdk uses_sdk = 3;
43*d57664e9SAndroid Build Coastguard Worker  // Previously: UsesConfiguration uses_configuration = 4;
44*d57664e9SAndroid Build Coastguard Worker  reserved 4;
45*d57664e9SAndroid Build Coastguard Worker  SupportsScreen supports_screen = 5;
46*d57664e9SAndroid Build Coastguard Worker  SupportsInput supports_input = 6;
47*d57664e9SAndroid Build Coastguard Worker  LaunchableActivity launchable_activity = 7;
48*d57664e9SAndroid Build Coastguard Worker  LeanbackLaunchableActivity leanback_launchable_activity = 8;
49*d57664e9SAndroid Build Coastguard Worker  StaticLibrary static_library = 9;
50*d57664e9SAndroid Build Coastguard Worker  SdkLibrary sdk_library = 10;
51*d57664e9SAndroid Build Coastguard Worker  Overlay overlay = 11;
52*d57664e9SAndroid Build Coastguard Worker  PackageVerifier package_verifier = 12;
53*d57664e9SAndroid Build Coastguard Worker  CompatibleScreens compatible_screens = 13;
54*d57664e9SAndroid Build Coastguard Worker  Architectures architectures = 14;
55*d57664e9SAndroid Build Coastguard Worker  SupportsGlTexture supports_gl_texture = 15;
56*d57664e9SAndroid Build Coastguard Worker  Components components = 16;
57*d57664e9SAndroid Build Coastguard Worker
58*d57664e9SAndroid Build Coastguard Worker  repeated string locales = 17;
59*d57664e9SAndroid Build Coastguard Worker  repeated int32 densities = 18;
60*d57664e9SAndroid Build Coastguard Worker
61*d57664e9SAndroid Build Coastguard Worker  repeated UsesPackage uses_packages = 51;
62*d57664e9SAndroid Build Coastguard Worker  repeated UsesConfiguration uses_configurations = 52;
63*d57664e9SAndroid Build Coastguard Worker  repeated FeatureGroup feature_groups = 53;
64*d57664e9SAndroid Build Coastguard Worker  repeated UsesPermission uses_permissions = 54;
65*d57664e9SAndroid Build Coastguard Worker  repeated Permission permissions = 55;
66*d57664e9SAndroid Build Coastguard Worker  repeated UsesLibrary uses_libraries = 56;
67*d57664e9SAndroid Build Coastguard Worker  repeated UsesStaticLibrary uses_static_libraries = 57;
68*d57664e9SAndroid Build Coastguard Worker  repeated UsesSdkLibrary uses_sdk_libraries = 58;
69*d57664e9SAndroid Build Coastguard Worker  repeated UsesNativeLibrary uses_native_libraries = 59;
70*d57664e9SAndroid Build Coastguard Worker
71*d57664e9SAndroid Build Coastguard Worker  repeated Metadata metadata = 62;
72*d57664e9SAndroid Build Coastguard Worker  repeated Property properties = 63;
73*d57664e9SAndroid Build Coastguard Worker}
74*d57664e9SAndroid Build Coastguard Worker
75*d57664e9SAndroid Build Coastguard Worker// Information extracted about package from <manifest> and
76*d57664e9SAndroid Build Coastguard Worker// <original-package> tags.
77*d57664e9SAndroid Build Coastguard Workermessage PackageInfo {
78*d57664e9SAndroid Build Coastguard Worker  enum InstallLocation {
79*d57664e9SAndroid Build Coastguard Worker    DEFAULT_INSTALL_LOCATION = 0;
80*d57664e9SAndroid Build Coastguard Worker    AUTO = 1;
81*d57664e9SAndroid Build Coastguard Worker    INTERNAL_ONLY = 2;
82*d57664e9SAndroid Build Coastguard Worker    PREFER_EXTERNAL = 3;
83*d57664e9SAndroid Build Coastguard Worker  }
84*d57664e9SAndroid Build Coastguard Worker
85*d57664e9SAndroid Build Coastguard Worker  string package = 1;
86*d57664e9SAndroid Build Coastguard Worker  int32 version_code = 2;
87*d57664e9SAndroid Build Coastguard Worker  string version_name = 3;
88*d57664e9SAndroid Build Coastguard Worker
89*d57664e9SAndroid Build Coastguard Worker  string split = 4;
90*d57664e9SAndroid Build Coastguard Worker
91*d57664e9SAndroid Build Coastguard Worker  string platform_version_name = 5;
92*d57664e9SAndroid Build Coastguard Worker  string platform_version_code = 6;
93*d57664e9SAndroid Build Coastguard Worker
94*d57664e9SAndroid Build Coastguard Worker  int32 compile_sdk_version = 7;
95*d57664e9SAndroid Build Coastguard Worker  string compile_sdk_version_codename = 8;
96*d57664e9SAndroid Build Coastguard Worker
97*d57664e9SAndroid Build Coastguard Worker  InstallLocation install_location = 9;
98*d57664e9SAndroid Build Coastguard Worker
99*d57664e9SAndroid Build Coastguard Worker  string original_package = 10;
100*d57664e9SAndroid Build Coastguard Worker}
101*d57664e9SAndroid Build Coastguard Worker
102*d57664e9SAndroid Build Coastguard Worker// Information extracted from <application> element.
103*d57664e9SAndroid Build Coastguard Workermessage Application {
104*d57664e9SAndroid Build Coastguard Worker  string label = 1;
105*d57664e9SAndroid Build Coastguard Worker  string icon = 2;
106*d57664e9SAndroid Build Coastguard Worker  string banner = 3;
107*d57664e9SAndroid Build Coastguard Worker
108*d57664e9SAndroid Build Coastguard Worker  bool test_only = 4;
109*d57664e9SAndroid Build Coastguard Worker  bool game = 5;
110*d57664e9SAndroid Build Coastguard Worker  bool debuggable = 6;
111*d57664e9SAndroid Build Coastguard Worker
112*d57664e9SAndroid Build Coastguard Worker  map<string, string> locale_labels = 8;
113*d57664e9SAndroid Build Coastguard Worker  map<int32, string> density_icons = 9;
114*d57664e9SAndroid Build Coastguard Worker}
115*d57664e9SAndroid Build Coastguard Worker
116*d57664e9SAndroid Build Coastguard Worker// Components defined in the APK.
117*d57664e9SAndroid Build Coastguard Workermessage Components {
118*d57664e9SAndroid Build Coastguard Worker  bool main = 1;
119*d57664e9SAndroid Build Coastguard Worker  bool other_activities = 2;
120*d57664e9SAndroid Build Coastguard Worker  bool other_receivers = 3;
121*d57664e9SAndroid Build Coastguard Worker  bool other_services = 4;
122*d57664e9SAndroid Build Coastguard Worker
123*d57664e9SAndroid Build Coastguard Worker  repeated string provided_components = 5;
124*d57664e9SAndroid Build Coastguard Worker}
125*d57664e9SAndroid Build Coastguard Worker
126*d57664e9SAndroid Build Coastguard Worker// Application's min and target SDKs.
127*d57664e9SAndroid Build Coastguard Workermessage UsesSdk {
128*d57664e9SAndroid Build Coastguard Worker  oneof min_sdk {
129*d57664e9SAndroid Build Coastguard Worker    int32 min_sdk_version = 2;
130*d57664e9SAndroid Build Coastguard Worker    string min_sdk_version_name = 3;
131*d57664e9SAndroid Build Coastguard Worker  }
132*d57664e9SAndroid Build Coastguard Worker  int32 max_sdk_version = 4;
133*d57664e9SAndroid Build Coastguard Worker  oneof target_sdk {
134*d57664e9SAndroid Build Coastguard Worker    int32 target_sdk_version = 5;
135*d57664e9SAndroid Build Coastguard Worker    string target_sdk_version_name = 6;
136*d57664e9SAndroid Build Coastguard Worker  }
137*d57664e9SAndroid Build Coastguard Worker}
138*d57664e9SAndroid Build Coastguard Worker
139*d57664e9SAndroid Build Coastguard Workermessage UsesConfiguration {
140*d57664e9SAndroid Build Coastguard Worker  int32 req_touch_screen = 1;
141*d57664e9SAndroid Build Coastguard Worker  int32 req_keyboard_type = 2;
142*d57664e9SAndroid Build Coastguard Worker  int32 req_hard_keyboard = 3;
143*d57664e9SAndroid Build Coastguard Worker  int32 req_navigation = 4;
144*d57664e9SAndroid Build Coastguard Worker  int32 req_five_way_nav = 5;
145*d57664e9SAndroid Build Coastguard Worker}
146*d57664e9SAndroid Build Coastguard Worker
147*d57664e9SAndroid Build Coastguard Worker// Screens supported by this application.
148*d57664e9SAndroid Build Coastguard Workermessage SupportsScreen {
149*d57664e9SAndroid Build Coastguard Worker  enum ScreenType {
150*d57664e9SAndroid Build Coastguard Worker    UNSPECIFIED_SCREEN_TYPE = 0;
151*d57664e9SAndroid Build Coastguard Worker    SMALL = 1;
152*d57664e9SAndroid Build Coastguard Worker    NORMAL = 2;
153*d57664e9SAndroid Build Coastguard Worker    LARGE = 3;
154*d57664e9SAndroid Build Coastguard Worker    XLARGE = 4;
155*d57664e9SAndroid Build Coastguard Worker  }
156*d57664e9SAndroid Build Coastguard Worker  repeated ScreenType screens = 1;
157*d57664e9SAndroid Build Coastguard Worker  bool supports_any_densities = 2;
158*d57664e9SAndroid Build Coastguard Worker  int32 requires_smallest_width_dp = 3;
159*d57664e9SAndroid Build Coastguard Worker  int32 compatible_width_limit_dp = 4;
160*d57664e9SAndroid Build Coastguard Worker  int32 largest_width_limit_dp = 5;
161*d57664e9SAndroid Build Coastguard Worker}
162*d57664e9SAndroid Build Coastguard Worker
163*d57664e9SAndroid Build Coastguard Worker// Inputs supported by this application.
164*d57664e9SAndroid Build Coastguard Workermessage SupportsInput {
165*d57664e9SAndroid Build Coastguard Worker  repeated string inputs = 1;
166*d57664e9SAndroid Build Coastguard Worker}
167*d57664e9SAndroid Build Coastguard Worker
168*d57664e9SAndroid Build Coastguard Worker// Information about used features which is extracted from <uses-permission>
169*d57664e9SAndroid Build Coastguard Worker// elements or implied from permissions.
170*d57664e9SAndroid Build Coastguard Workermessage Feature {
171*d57664e9SAndroid Build Coastguard Worker  message ImpliedData {
172*d57664e9SAndroid Build Coastguard Worker      bool from_sdk_23_permission = 1;
173*d57664e9SAndroid Build Coastguard Worker      repeated string reasons = 2;
174*d57664e9SAndroid Build Coastguard Worker  }
175*d57664e9SAndroid Build Coastguard Worker
176*d57664e9SAndroid Build Coastguard Worker  string name = 1;
177*d57664e9SAndroid Build Coastguard Worker  bool required = 2;
178*d57664e9SAndroid Build Coastguard Worker  int32 version = 3;
179*d57664e9SAndroid Build Coastguard Worker
180*d57664e9SAndroid Build Coastguard Worker  ImpliedData implied_data = 4;
181*d57664e9SAndroid Build Coastguard Worker}
182*d57664e9SAndroid Build Coastguard Worker
183*d57664e9SAndroid Build Coastguard Workermessage FeatureGroup {
184*d57664e9SAndroid Build Coastguard Worker  string label = 1;
185*d57664e9SAndroid Build Coastguard Worker  int32 open_gles_version = 2;
186*d57664e9SAndroid Build Coastguard Worker  repeated Feature features = 3;
187*d57664e9SAndroid Build Coastguard Worker}
188*d57664e9SAndroid Build Coastguard Worker
189*d57664e9SAndroid Build Coastguard Worker// Information about permission requested by the application.
190*d57664e9SAndroid Build Coastguard Workermessage UsesPermission {
191*d57664e9SAndroid Build Coastguard Worker  message PermissionFlags {
192*d57664e9SAndroid Build Coastguard Worker    bool never_for_location = 1;
193*d57664e9SAndroid Build Coastguard Worker  }
194*d57664e9SAndroid Build Coastguard Worker
195*d57664e9SAndroid Build Coastguard Worker  string name = 1;
196*d57664e9SAndroid Build Coastguard Worker  int32 max_sdk_version = 2;
197*d57664e9SAndroid Build Coastguard Worker  bool required = 3;
198*d57664e9SAndroid Build Coastguard Worker  bool implied = 4;
199*d57664e9SAndroid Build Coastguard Worker  bool sdk23_and_above = 5;
200*d57664e9SAndroid Build Coastguard Worker
201*d57664e9SAndroid Build Coastguard Worker  repeated string required_features = 6;
202*d57664e9SAndroid Build Coastguard Worker  repeated string required_not_features = 7;
203*d57664e9SAndroid Build Coastguard Worker
204*d57664e9SAndroid Build Coastguard Worker  PermissionFlags permission_flags = 8;
205*d57664e9SAndroid Build Coastguard Worker}
206*d57664e9SAndroid Build Coastguard Worker
207*d57664e9SAndroid Build Coastguard Worker// Permission defined by the application.
208*d57664e9SAndroid Build Coastguard Workermessage Permission {
209*d57664e9SAndroid Build Coastguard Worker  string name = 1;
210*d57664e9SAndroid Build Coastguard Worker}
211*d57664e9SAndroid Build Coastguard Worker
212*d57664e9SAndroid Build Coastguard Worker// Data extracted about launchable activity. Launchable activity is an entry
213*d57664e9SAndroid Build Coastguard Worker// point on phone and tablet devices.
214*d57664e9SAndroid Build Coastguard Workermessage LaunchableActivity {
215*d57664e9SAndroid Build Coastguard Worker  string name = 1;
216*d57664e9SAndroid Build Coastguard Worker  string icon = 2;
217*d57664e9SAndroid Build Coastguard Worker  string label = 3;
218*d57664e9SAndroid Build Coastguard Worker}
219*d57664e9SAndroid Build Coastguard Worker
220*d57664e9SAndroid Build Coastguard Worker// Data extracted about leanback launchable activity. Leanback launchable
221*d57664e9SAndroid Build Coastguard Worker// activity is an entry point on TV devices.
222*d57664e9SAndroid Build Coastguard Workermessage LeanbackLaunchableActivity {
223*d57664e9SAndroid Build Coastguard Worker  string name = 1;
224*d57664e9SAndroid Build Coastguard Worker  string icon = 2;
225*d57664e9SAndroid Build Coastguard Worker  string label = 3;
226*d57664e9SAndroid Build Coastguard Worker  string banner = 4;
227*d57664e9SAndroid Build Coastguard Worker}
228*d57664e9SAndroid Build Coastguard Worker
229*d57664e9SAndroid Build Coastguard Worker// Library used by the application.
230*d57664e9SAndroid Build Coastguard Workermessage UsesLibrary {
231*d57664e9SAndroid Build Coastguard Worker  string name = 1;
232*d57664e9SAndroid Build Coastguard Worker  bool required = 2;
233*d57664e9SAndroid Build Coastguard Worker}
234*d57664e9SAndroid Build Coastguard Worker
235*d57664e9SAndroid Build Coastguard Worker// Static library this APK declares.
236*d57664e9SAndroid Build Coastguard Workermessage StaticLibrary {
237*d57664e9SAndroid Build Coastguard Worker  string name = 1;
238*d57664e9SAndroid Build Coastguard Worker  int32 version = 2;
239*d57664e9SAndroid Build Coastguard Worker  int32 version_major = 3;
240*d57664e9SAndroid Build Coastguard Worker}
241*d57664e9SAndroid Build Coastguard Worker
242*d57664e9SAndroid Build Coastguard Worker// Static library used by the application.
243*d57664e9SAndroid Build Coastguard Workermessage UsesStaticLibrary {
244*d57664e9SAndroid Build Coastguard Worker  string name = 1;
245*d57664e9SAndroid Build Coastguard Worker  int32 version = 2;
246*d57664e9SAndroid Build Coastguard Worker  int32 version_major = 3;
247*d57664e9SAndroid Build Coastguard Worker  repeated string certificates = 4;
248*d57664e9SAndroid Build Coastguard Worker}
249*d57664e9SAndroid Build Coastguard Worker
250*d57664e9SAndroid Build Coastguard Worker// SDK library this APK declares.
251*d57664e9SAndroid Build Coastguard Workermessage SdkLibrary {
252*d57664e9SAndroid Build Coastguard Worker  string name = 1;
253*d57664e9SAndroid Build Coastguard Worker  int32 version_major = 2;
254*d57664e9SAndroid Build Coastguard Worker}
255*d57664e9SAndroid Build Coastguard Worker
256*d57664e9SAndroid Build Coastguard Worker// SDK library used by the application.
257*d57664e9SAndroid Build Coastguard Workermessage UsesSdkLibrary {
258*d57664e9SAndroid Build Coastguard Worker  string name = 1;
259*d57664e9SAndroid Build Coastguard Worker  int32 version_major = 2;
260*d57664e9SAndroid Build Coastguard Worker  repeated string certificates = 3;
261*d57664e9SAndroid Build Coastguard Worker}
262*d57664e9SAndroid Build Coastguard Worker
263*d57664e9SAndroid Build Coastguard Worker// Native library used by the application.
264*d57664e9SAndroid Build Coastguard Workermessage UsesNativeLibrary {
265*d57664e9SAndroid Build Coastguard Worker  string name = 1;
266*d57664e9SAndroid Build Coastguard Worker  bool required = 2;
267*d57664e9SAndroid Build Coastguard Worker}
268*d57664e9SAndroid Build Coastguard Worker
269*d57664e9SAndroid Build Coastguard Worker// Information extracted from <meta-data> elements defined across
270*d57664e9SAndroid Build Coastguard Worker// AndroidManifest.xml.
271*d57664e9SAndroid Build Coastguard Workermessage Metadata {
272*d57664e9SAndroid Build Coastguard Worker  string name = 1;
273*d57664e9SAndroid Build Coastguard Worker  oneof value {
274*d57664e9SAndroid Build Coastguard Worker    string value_string = 2;
275*d57664e9SAndroid Build Coastguard Worker    int32 value_int = 3;
276*d57664e9SAndroid Build Coastguard Worker  }
277*d57664e9SAndroid Build Coastguard Worker  oneof resource {
278*d57664e9SAndroid Build Coastguard Worker    string resource_string = 4;
279*d57664e9SAndroid Build Coastguard Worker    int32 resource_int = 5;
280*d57664e9SAndroid Build Coastguard Worker  }
281*d57664e9SAndroid Build Coastguard Worker}
282*d57664e9SAndroid Build Coastguard Worker
283*d57664e9SAndroid Build Coastguard Worker// Information about overlay that is declared in the APK.
284*d57664e9SAndroid Build Coastguard Workermessage Overlay {
285*d57664e9SAndroid Build Coastguard Worker  string target_package = 1;
286*d57664e9SAndroid Build Coastguard Worker  int32 priority = 2;
287*d57664e9SAndroid Build Coastguard Worker  bool static = 3;
288*d57664e9SAndroid Build Coastguard Worker  string required_property_name = 4;
289*d57664e9SAndroid Build Coastguard Worker  string required_property_value = 5;
290*d57664e9SAndroid Build Coastguard Worker}
291*d57664e9SAndroid Build Coastguard Worker
292*d57664e9SAndroid Build Coastguard Worker// Data extracted from <package-verifier> element.
293*d57664e9SAndroid Build Coastguard Workermessage PackageVerifier {
294*d57664e9SAndroid Build Coastguard Worker  string name = 1;
295*d57664e9SAndroid Build Coastguard Worker  string public_key = 2;
296*d57664e9SAndroid Build Coastguard Worker}
297*d57664e9SAndroid Build Coastguard Worker
298*d57664e9SAndroid Build Coastguard Worker// External packages used by the application
299*d57664e9SAndroid Build Coastguard Workermessage UsesPackage {
300*d57664e9SAndroid Build Coastguard Worker  string name = 1;
301*d57664e9SAndroid Build Coastguard Worker  string package_type = 2;
302*d57664e9SAndroid Build Coastguard Worker  int32 version = 3;
303*d57664e9SAndroid Build Coastguard Worker  int32 version_major = 4;
304*d57664e9SAndroid Build Coastguard Worker  repeated string certificates = 5;
305*d57664e9SAndroid Build Coastguard Worker}
306*d57664e9SAndroid Build Coastguard Worker
307*d57664e9SAndroid Build Coastguard Worker// Open GL textures format supported by the current application.
308*d57664e9SAndroid Build Coastguard Workermessage SupportsGlTexture {
309*d57664e9SAndroid Build Coastguard Worker  repeated string name = 1;
310*d57664e9SAndroid Build Coastguard Worker}
311*d57664e9SAndroid Build Coastguard Worker
312*d57664e9SAndroid Build Coastguard Worker// Screens compatible with the application.
313*d57664e9SAndroid Build Coastguard Workermessage CompatibleScreens {
314*d57664e9SAndroid Build Coastguard Worker  message Screen {
315*d57664e9SAndroid Build Coastguard Worker    int32 size = 1;
316*d57664e9SAndroid Build Coastguard Worker    int32 density = 2;
317*d57664e9SAndroid Build Coastguard Worker  }
318*d57664e9SAndroid Build Coastguard Worker
319*d57664e9SAndroid Build Coastguard Worker  repeated Screen screens = 1;
320*d57664e9SAndroid Build Coastguard Worker}
321*d57664e9SAndroid Build Coastguard Worker
322*d57664e9SAndroid Build Coastguard Worker// Architectures supported by the application.
323*d57664e9SAndroid Build Coastguard Workermessage Architectures {
324*d57664e9SAndroid Build Coastguard Worker  repeated string architectures = 1;
325*d57664e9SAndroid Build Coastguard Worker  repeated string alt_architectures = 2;
326*d57664e9SAndroid Build Coastguard Worker}
327*d57664e9SAndroid Build Coastguard Worker
328*d57664e9SAndroid Build Coastguard Worker// Information extracted from <property> elements defined across
329*d57664e9SAndroid Build Coastguard Worker// AndroidManifest.xml.
330*d57664e9SAndroid Build Coastguard Workermessage Property {
331*d57664e9SAndroid Build Coastguard Worker  string name = 1;
332*d57664e9SAndroid Build Coastguard Worker  oneof value {
333*d57664e9SAndroid Build Coastguard Worker    string value_string = 2;
334*d57664e9SAndroid Build Coastguard Worker    int32 value_int = 3;
335*d57664e9SAndroid Build Coastguard Worker  }
336*d57664e9SAndroid Build Coastguard Worker  oneof resource {
337*d57664e9SAndroid Build Coastguard Worker    string resource_string = 4;
338*d57664e9SAndroid Build Coastguard Worker    int32 resource_int = 5;
339*d57664e9SAndroid Build Coastguard Worker  }
340*d57664e9SAndroid Build Coastguard Worker}