/
fdd000592.xml
436 lines (436 loc) · 28.2 KB
/
fdd000592.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
<?xml version="1.0" encoding="UTF-8"?>
<fdd:FDD id="fdd000592" titleName="Android Package" shortName="APK" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fdd="http://www.loc.gov/preservation/digital/formats/schemas/fdd/v1" xsi:schemaLocation="http://www.loc.gov/preservation/digital/formats/schemas/fdd/v1 http://www.loc.gov/preservation/digital/formats/schemas/fdd/v1/fdd-v1-2.xsd">
<fdd:properties>
<fdd:gdfrGenreSelection>
<fdd:gdfrGenre>aggregate</fdd:gdfrGenre>
</fdd:gdfrGenreSelection>
<fdd:formatCategories>
<fdd:category>file-format</fdd:category>
</fdd:formatCategories>
<fdd:gdfrComposition>container-bundle</fdd:gdfrComposition>
<fdd:gdfrForm>binary</fdd:gdfrForm>
<fdd:gdfrConstraint>structured</fdd:gdfrConstraint>
<fdd:gdfrBasis>symbolic</fdd:gdfrBasis>
<fdd:updates>
<fdd:date>2024-04-09</fdd:date>
</fdd:updates>
<fdd:draftStatus>Preliminary</fdd:draftStatus>
</fdd:properties>
<fdd:identificationAndDescription>
<fdd:fullName>Android Package</fdd:fullName>
<fdd:keywords>
<fdd:keyword>package formats</fdd:keyword>
</fdd:keywords>
<fdd:description>
<p>An Android package (APK) is an archive file that <a href="https://developer.android.com/guide/components/fundamentals">contains the contents</a> of an Android app required at runtime. Their primary usage is in Android-based devices that rely on Android package files to install applications.</p>
<p>Android package files (APKs) comprise the contents of an Android app. APKs are based on Java's JAR format structure and packaged as a <fddLink id="fdd000354">ZIP</fddLink> archive.</p>
<p>The Android Developer's Guide states that Android applications are <a href="https://developer.android.com/guide/components/fundamentals">primarily written in</a> Kotlin, the Java programming language, and C++ languages. The Android SDK tools compile code, data and resource files into an APK or an <a href="https://developer.android.com/guide/app-bundle/app-bundle-format">Android App Bundle</a> (AAB) format.</p>
<p>A single APK file contains all the necessary files that are required for its installation and execution. An APK file, when extracted as a <fddLink id="fdd000354">ZIP</fddLink>, contains the following files and folders, according to the <a href="https://developer.android.com/guide/app-bundle/app-bundle-format">Android Developer's Guide</a>:
</p>
<ul>
<li>assets/:A directory that contains applications assets.</li>
<li>lib/: A directory that contains compiled code prepared for specific hardware platforms.</li>
<li>META-INF/: A directory that contains the manifest file, signature, and a list of resources in the archive. Metadata about the application is stored here.</li>
<li>res/: A directory that contains any additional, non-compiled resources such as images.</li>
<li>AndroidManifest.xml: A file that contains the name, versioning information and contents of the package.</li>
<li>classes.dex: Compiled Java classes. The extension is short for "Dalvik executable format." This format is defined in the Android documentation.</li>
<li>resources.arsc: A file containing all compiled resource files.</li>
</ul>
<p>Within the META-INF/ folder are a few files that ensure package integrity. This includes <a href="https://source.android.com/docs/security/features/apksigning">MANIFEST.MF</a>, the application certificate titled <a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">CERT.RSA</a>, and a Signature File, CERT.SF, which contains a list of resources and a SHA-1 checksum for each line in the MANIFEST.MF file. Files, values and structures may be slightly different depending on their <a href="https://medium.com/@vlad.iftimie88/some-points-on-android-apk-files-part-2-8ad522ad002c">signature version</a>. This structure is derived from the <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html">JAR specification</a>.
</p>
<p>The AndroidManifest.xml file <a href="http://fileformats.archiveteam.org/wiki/APK">may be either</a> regular XML or binary XML, but likely binary. This requires <a href="https://www.bitsgalore.org/2021/02/24/towards-a-preservation-workflow-for-mobile-apps">advanced tooling</a> for people to access, parse, and read. <a href="https://apktool.org/">Apktool</a>, <a href="https://developer.android.com/tools/apkanalyzer">apkanalyzer</a>, and <a href="https://github.com/androguard/androguard">Androguard</a> are programs that make reading this file possible. The manifest file <a href="https://developer.android.com/guide/topics/manifest/manifest-intro">describes</a> essential information about your app to the Android build tools, the Android operating system, and Google Play. Google provides a <a href="https://developer.android.com/guide/topics/manifest/manifest-intro#example">sample</a> of this file. Researcher Johan van der Knijff <a href="https://github.com/KBNLresearch/mobile-apps/blob/main/sample-files/arize-androidManifest.xml">provides</a> a sample of extracted binary XML.</p>
</fdd:description>
<fdd:shortDescription>An Android package (APK) is an archive file that contains the contents of an Android app required at runtime. Their primary usage is in Android-based devices that rely on Android package files to install applications. APKs are based on Java's JAR format structure and packaged as a ZIP archive.
</fdd:shortDescription>
<fdd:productionPhase>
<p>A final-state format used for distribution of Android applications.</p>
</fdd:productionPhase>
<fdd:relationships>
<fdd:relationship>
<fdd:typeOfRelationship>Extension of</fdd:typeOfRelationship>
<fdd:comment>
<a href="https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html">JAR</a>. Users can <a href="https://medium.com/@vlad.iftimie88/some-points-on-android-apk-files-part-2-8ad522ad002c">perform read and write operations</a> on an APK file using Java APIs java.util.zip and java.util.jar". Not described separately at this time.</fdd:comment>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Extension of</fdd:typeOfRelationship>
<fdd:relatedTo>
<fdd:id>fdd000354</fdd:id>
<fdd:shortName>ZIP</fdd:shortName>
<fdd:titleName>ZIP File Format (PKWARE)</fdd:titleName>
</fdd:relatedTo>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Contains</fdd:typeOfRelationship>
<fdd:relatedTo>
<fdd:id>fdd000075</fdd:id>
<fdd:shortName>XML</fdd:shortName>
<fdd:titleName>XML (Extensible Markup Language)</fdd:titleName>
</fdd:relatedTo>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Contains</fdd:typeOfRelationship>
<fdd:comment>
<a href="https://source.android.com/docs/core/runtime/dex-format">Dalvik executable format</a> (DEX). Not described separately at this time.</fdd:comment>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Affinity to</fdd:typeOfRelationship>
<fdd:comment>
<a href="https://developer.android.com/guide/app-bundle/app-bundle-format">Android App Bundle</a> (AAB). The AAB format creates APK files. According to <a href="https://developer.android.com/guide/components/fundamentals">Google</a>, An AAB "contains the contents of an Android app project, including some additional metadata that isn't required at runtime. An AAB is a publishing format and can't be installed on Android devices. It defers APK generation and signing to a later stage." Not described separately at this time. </fdd:comment>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Has extension</fdd:typeOfRelationship>
<fdd:comment>APKS. Files with the APKS extension contain a collection of APK files. See description in the Android Developer's Guide's <a href="https://developer.android.com/tools/bundletool">bundletool</a> documentation. Not described separately at this time.</fdd:comment>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Has extension</fdd:typeOfRelationship>
<fdd:comment>XAPK. Compressed Android Package. According to <a href="https://fileinfo.com/extension/xapk">FileInfo.com</a>, XAPK is similar to the APK format but may contain additional assets used by the app. Not described separately at this time.</fdd:comment>
</fdd:relationship>
<fdd:relationship>
<fdd:typeOfRelationship>Has extension</fdd:typeOfRelationship>
<fdd:comment>APKM. Android App Bundle Mirror. According to <a href="https://fileinfo.com/extension/apkm">FileInfo.com</a>, APKM is "an Android app bundle created for use with APKMirror Installer, an alternative Android app installer." Not described separately at this time.</fdd:comment>
</fdd:relationship>
</fdd:relationships>
</fdd:identificationAndDescription>
<fdd:localUse>
<fdd:experience>The Library of Congress has a small amount of APK files in its collections. </fdd:experience>
<fdd:preference>The Library of Congress Recommended Formats Statement (RFS) lists APK as a preferred format for <a href="https://www.loc.gov/preservation/resources/rfs/software-videogames.html">software and gaming distribution packages</a>.</fdd:preference>
</fdd:localUse>
<fdd:sustainabilityFactors>
<fdd:disclosure>Limited. Ownership of the format belongs, de facto, to the Android Open Source Project, with influence from Google. The only known published documentation is via Google's Android Developer's Guide. <a href="../contact_format.shtml">Comments welcome</a>.
</fdd:disclosure>
<fdd:documentation>
Some guidance is available on Google's Android Developer's Guide under "<a href="https://developer.android.com/guide/components/fundamentals">Application fundamentals</a>".
</fdd:documentation>
<fdd:adoption>APK is used to distribute application software on Android operating systems.</fdd:adoption>
<fdd:licensingAndPatents>The Android operating system is developed by the <a href="https://www.openhandsetalliance.com/android_overview.html">Open Handset Alliance</a> consortium, with its primary and most widely used version developed by Google. The core operating system, the Android Open Source Project is licensed primarily under the free and open-source <a href="https://source.android.com/docs/setup/about/faqs">Apache License 2.0</a>. The Android name and logo are <a href="https://source.android.com/docs/setup/about/brands">trademarked</a> by Google. There is no specific license or patent for the APK format. <a href="../contact_format.shtml">Comments welcome</a>.
</fdd:licensingAndPatents>
<fdd:transparency>Limited. Depends upon algorithms and tools to read; will require sophistication to build tools.</fdd:transparency>
<fdd:selfDocumentation>
<p>APK's AndroidManifest.xml file holds metadata and self-documentation about technical dependencies, including versions, hardware or software requirements, permissions, and any additional arbitrary metadata. </p>
<p>The <a href="https://developer.android.com/guide/topics/manifest/meta-data-element">meta-data</a> element can hold any additional, arbitrary metadata. The <a href="https://developer.android.com/guide/topics/manifest/uses-sdk-element">uses-sdk</a> element contains minSdkVersion and targetSdkVersion, which define the minimum and target levels of the application. The <a href="https://developer.android.com/guide/topics/manifest/uses-feature-element">uses-feature</a> element is used to declare hardware or software features used by the application. The <a href="https://developer.android.com/guide/topics/manifest/uses-library-element">uses-library</a> element details any shared library dependencies.</p>
<p>The <a href="https://developer.android.com/guide/topics/manifest/manifest-intro">Android Developer's Guide</a> outlines in further detail and includes a sample manifest file. The amount of documentation <a href="https://zenodo.org/records/3460450">depends</a> on what is provided by the developer. Additional details are explained in Johan van der Knijff's blog post "<a href="https://www.bitsgalore.org/2021/02/24/towards-a-preservation-workflow-for-mobile-apps">Towards a preservation workflow for mobile apps</a>".
</p>
</fdd:selfDocumentation>
<fdd:externalDependencies>
<p>The <a href="https://zenodo.org/records/3460450">British Library asserts</a> that through their research, they were not able to identify tools that could unpackage and migrate APKs for use in non-Android environments. Only application developers or publishers are able to update applications for compatibility with new versions of the operating system. They note that the Android SDK allows for development and testing on a PC, allowing developers to test on a variety of device configurations and versions without requiring the physical device.</p>
<p>The Google Play store <a href="https://developer.android.com/google/play/expansion-files">requires</a> that a compressed APK must be less than 100MB.</p>
</fdd:externalDependencies>
<fdd:techProtection>
<p>APKs have the concept of <a href="https://source.android.com/docs/security/features/apksigning">Application Signing</a>: "Application signing allows developers to identify the author of the application and to update their application without creating complicated interfaces and permissions. Every application that is run on the Android platform must be signed by the developer. Applications that attempt to install without being signed will be rejected by either Google Play or the package installer on the Android device."</p>
<p>APKs require <a href="https://source.android.com/docs/security/features/authentication">Authentication</a>: "Android uses the concept of user-authentication-gated cryptographic keys that requires the following components: 1. Cryptographic key storage and service provider. 2 User authenticators."</p>
<p>Android 5.0 up to Android 9 support full-disk <a href="https://source.android.com/docs/security/features/encryption">encryption</a>. Android 7.0 and later supports file-based encryption. This is expanded in Android 9, which introduced support for metadata encryption.</p>
<p>Other security issues described on the <a href="https://source.android.com/docs/security/features">Android Security Features</a> page from the Android Open Source Project.</p>
</fdd:techProtection>
</fdd:sustainabilityFactors>
<fdd:qualityAndFunctionalityFactors>
<fdd:aggregateQF>
<fdd:compress>See <fddLink id="fdd000354">ZIP</fddLink>.
</fdd:compress>
<fdd:error>See <fddLink id="fdd000354">ZIP</fddLink>.
</fdd:error>
<fdd:beyondAGG>None.</fdd:beyondAGG>
</fdd:aggregateQF>
</fdd:qualityAndFunctionalityFactors>
<fdd:fileTypeSignifiers>
<fdd:signifiersGroup>
<fdd:filenameExtension>
<fdd:sigValues>
<fdd:sigValue>apk</fdd:sigValue>
</fdd:sigValues>
<fdd:note>See Google's <a href="https://developer.android.com/guide/components/fundamentals">Android for Developers</a> guide. Other extensions may be used, such as those listed on <a href="https://en.wikipedia.org/wiki/Apk_(file_format)">Wikipedia</a> and <a href="https://www.wikidata.org/wiki/Q596391">Wikidata</a>. <a href="../contact_format.shtml">Comments welcome</a>.
</fdd:note>
</fdd:filenameExtension>
<fdd:internetMediaType>
<fdd:sigValues>
<fdd:sigValue>application/vnd.android.package-archive</fdd:sigValue>
</fdd:sigValues>
<fdd:note>Not listed in IANA. See <a href="https://github.com/apache/tika/blob/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml#L350">Apache Tika</a> and <a href="https://www.wikidata.org/wiki/Q596391">Wikidata</a>.
</fdd:note>
</fdd:internetMediaType>
<fdd:magicNumbers>
<fdd:sigValueNA>See related format.</fdd:sigValueNA>
<fdd:note>See <fddLink id="fdd000354">ZIP</fddLink>.
</fdd:note>
</fdd:magicNumbers>
<fdd:other>
<fdd:tag>Pronom PUID</fdd:tag>
<fdd:values>
<fdd:sigValueNA>See note.</fdd:sigValueNA>
<fdd:note>PRONOM has no corresponding entry as of March 2024.</fdd:note>
</fdd:values>
</fdd:other>
<fdd:other>
<fdd:tag>Wikidata Title ID</fdd:tag>
<fdd:values>
<fdd:sigValues>
<fdd:sigValue>Q596391</fdd:sigValue>
</fdd:sigValues>
<fdd:note>See <a href="https://www.wikidata.org/wiki/Q596391">https://www.wikidata.org/wiki/Q596391</a>.
</fdd:note>
</fdd:values>
</fdd:other>
</fdd:signifiersGroup>
</fdd:fileTypeSignifiers>
<fdd:notes>
<fdd:general>
<p>According to reporting from the Verge, after August 2021, Google <a href="https://www.theverge.com/2021/6/30/22557390/google-apk-app-bundles-package-format-play-store">required</a> that new Play apps will have to be published using the Android App Bundle (AAB) format. Devices that support Android packages (APKs) will still be able to download and install this format. The Verge reporting also notes that there are potential preservation issues around difficulties "playing back" APKs on a phone due to "<a href="https://www.theverge.com/2021/6/25/22550689/windows-11-android-app-sideload-amazon-app-store">sideloading</a>" (installing an application without using the specified hardware device) and installing from "<a href="https://www.androidcentral.com/unknown-sources">unknown sources</a>" (sources not directly vetted by the Google Play store). <a href="../contact_format.shtml">Comments welcome</a>.
</p>
<p>APKs may be "split." Google's Android Developer's Guide <a href="https://developer.android.com/guide/app-bundle/app-bundle-format">explains</a> "Split" APKs. These files are similar to standard APKs, but the Android platform is able to treat multiple installed split APKs as a single application. Android 4.4 and lower do not support split APKs.</p>
<p>There have been at least 17 major versions of the Android operating system since its first release in 2008. Early versions were limited to mobile phone devices. The <a href="https://zenodo.org/records/3460450">British Library notes</a> the "rapid rate of development poses a challenge for apps with specific operating system dependencies, as these apps may not function as intended once a device's underlying operating system is updated."</p>
</fdd:general>
</fdd:notes>
<fdd:formatSpecifications/>
<fdd:usefulReferences>
<fdd:urls>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/components/fundamentals</link>
<tag>"Application fundamentals". Google. Last updated October 10, 2023. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/app-bundle/app-bundle-format</link>
<tag>"The Android App Bundle format". Google. Last updated December 6, 2021. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/core/runtime/dex-format</link>
<tag>"Dalvik executable format". Android Open Source Project. Last updated February 6, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/security/features/apksigning</link>
<tag>"Application Signing". Android Open Source Project. Last updated February 7, 2024. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://en.wikipedia.org/wiki/RSA_(cryptosystem)</link>
<tag>"RSA (cryptosystem)". Wikipedia.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://medium.com/@vlad.iftimie88/some-points-on-android-apk-files-part-2-8ad522ad002c</link>
<tag>"Android APK files & signature types (part 2)". Vlad Iftimie. March 3, 2020.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html</link>
<tag>"JAR File Specification". Oracle.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>http://fileformats.archiveteam.org/wiki/APK</link>
<tag>"APK". ArchiveTeam.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://apktool.org/</link>
<tag>"Apktool".</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/tools/apkanalyzer</link>
<tag>"apkanalyzer". Google. Last updated April 12, 2023.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://github.com/androguard/androguard</link>
<tag>"Androguard".</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/tools/bundletool</link>
<tag>"bundletool". Google.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://fileinfo.com/extension/xapk</link>
<tag>"XAPK". FileInfo.com.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://fileinfo.com/extension/apkm</link>
<tag>"APKM". FileInfo.com.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/topics/manifest/manifest-intro</link>
<tag>"App manifest overview". Google. Last updated February 8, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://github.com/KBNLresearch/mobile-apps/blob/main/sample-files/arize-androidManifest.xml</link>
<tag>"arize-androidManifest.xml". Johan van der Knijff. February 17, 2021.</tag>
<comment>Sample AndroidManifest.xml file.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.openhandsetalliance.com/android_overview.html</link>
<tag>"Android". Open Handset Alliance.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/setup/about/faqs</link>
<tag>"AOSP frequently asked questions (FAQ)". Android Open Source Project. Last updated February 1, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/setup/about/brands</link>
<tag>"Brand guidelines". Android Open Source Project. Last updated February 8, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/topics/manifest/meta-data-element</link>
<tag>"<meta-data>". Android Open Source Project. Last updated March 29, 2023.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/topics/manifest/uses-sdk-element</link>
<tag>"<uses-sdk>". Android Open Source Project. Last updated February 16, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/topics/manifest/uses-feature-element</link>
<tag>"<uses-feature>". Android Open Source Project. Last updated December 15, 2023.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/guide/topics/manifest/uses-library-element</link>
<tag>"<uses-library>". Android Open Source Project. Last updated March 29, 2023.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://doi.org/10.5281/zenodo.3460450</link>
<tag>"Considerations on the Acquisition and Preservation of Mobile eBook Apps". 16th International Conference on Digital Preservation (iPRES). British Library. M. Pennock, et al. September 25, 2019.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/google/play/expansion-files</link>
<tag>"APK Expansion Files". Google. Last updated January 3, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/security/features/apksigning</link>
<tag>"Application Signing". Android Open Source Project. Last updated February 7, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/security/features/authentication</link>
<tag>"Authentication". Android Open Source Project. Last updated February 7, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/security/features/encryption</link>
<tag>"Encryption". Android Open Source Project. Last updated February 7, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://source.android.com/docs/security/features</link>
<tag>"Android Security Features". Android Open Source Project. Last updated February 7, 2024.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://en.wikipedia.org/wiki/Apk_(file_format)</link>
<tag>"APK (file format)". Wikipedia.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://github.com/apache/tika/blob/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml#L350</link>
<tag>"tika-mimetypes.xml". Apache Tika.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.theverge.com/2021/6/30/22557390/google-apk-app-bundles-package-format-play-store</link>
<tag>"Google is moving away from APKs on the Play Store". Jay Peters. June 30, 2021.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.theverge.com/2021/6/25/22550689/windows-11-android-app-sideload-amazon-app-store</link>
<tag>"Windows 11 will be able to sideload Android apps". Mitchell Clark. June 25, 2021.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.androidcentral.com/unknown-sources</link>
<tag>"Sideloading and Unknown Sources on Android: How to do it and fix errors". Jerry Hildenbrand. April 16, 2020.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://developer.android.com/studio/debug/apk-analyzer</link>
<tag>"Analyze your build with the APK Analyzer". Google. Last updated January 3, 2024. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://web.archive.org/web/20111224184753/http://sites.google.com/site/io/inside-the-android-application-framework</link>
<tag>"The Structure of Android Package (APK) Files". Google. 2008. </tag>
<comment>Available via Internet Archive.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.bitsgalore.org/2021/02/09/four-android-emulators-two-apps</link>
<tag>"Four Android emulators, two apps". Johan van der Knijff. February 9, 2021. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://openpreservation.org/blogs/running-archived-android-apps-pc-first-impressions/</link>
<tag>"Running archived Android apps on a PC: first impressions". Johan van der Knijff. 23 October 23, 2014. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.bitsgalore.org/2021/02/24/towards-a-preservation-workflow-for-mobile-apps</link>
<tag>"Towards a preservation workflow for mobile apps". Johan van der Knijff. February 24, 2021. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://docs.fileformat.com/compression/apk/</link>
<tag>"APK - What is an APK file?" FileFormat.com. </tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.wikidata.org/wiki/Q596391</link>
<tag>Wikidata entry for Q596391</tag>
<comment>Information in Wikidata about APK. Wikidata Title ID: Q596391.</comment>
</fdd:urlReference>
</fdd:url>
</fdd:urls>
</fdd:usefulReferences>
</fdd:FDD>