Cache-manifest的语法规则

本文详细阐述了文本缓存机制的核心概念,包括CACHE MANIFEST的使用、MIME类型设置、资源分类(CACHE、FALLBACK、NETWORK)、URL规则以及UTF编码应用。旨在提供一种高效、安全的资源管理策略,减少HTTP请求,提升网页加载速度。


  • 换行符[\r\n][\n][\r]都有效
  • 字符使用UTF编码
  • 第一行必须是“CACHE MANIFEST”
  • 以 "#" 开头的为注释
  • 使用相对URL的情况下,以缓存清单所在目录为准
  • 所有的URL必须与主页面属于同一源头
  • MIME类型必须为text/cache-manifest
  • 拥有[CACHE:][FALLBACK:][NETWORK:]等段落。上述段落标志的下方至少下一段落标志位止都属于一个段落
  • CACHE段落一行记录一个缓存资源文件,默认为此段落
  • FALLBACK段落用于指定URL不能访问时的替代资源
  • NETWORK段落脱线不进行缓存,必须指定网络访问的URL
[Info] 正在制作apk安装包... [Info] I: Using Apktool 2.11.1 on __UNI__2A8045D_cm.apk with 8 threads [Info] I: Copying raw classes.dex file... [Info] I: Copying raw classes2.dex file... [Info] I: Copying raw assets/39285EFA.dex file... [Info] I: Loading resource table... [Info] I: Decoding file-resources... [Info] I: Loading resource table from file: C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk [Info] I: Decoding values */* XMLs... [Info] I: Decoding AndroidManifest.xml with resources... [Info] I: Regular manifest package... [Info] I: Copying original files... [Info] I: Copying assets... [Info] I: Copying lib... [Info] I: Copying unknown files... [Info] begin replace files to apk... [Info] begin update files to apk... [Error] try compile package:0 [Info] I: Using Apktool 2.11.1 on __UNI__2A8045D_nosign.apk with 8 threads [Info] I: Copying raw classes.dex file... [Info] I: Copying raw classes2.dex file... [Info] I: Checking whether resources have changed... [Info] I: Building resources with aapt2... [Error] W: error: invalid manifest package override '~'. [Error] Exception in thread "main" brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ztwl18\AppData\Local\Temp\brut_util_Jar_32585808885910708161749025514335205361.tmp, link, -o, C:\Users\ztwl18\AppData\Local\Temp\APKTOOL5146259972642803888.tmp, --allow-reserved-package-id, --package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --rename-manifest-package, ~, --rename-instrumentation-target-package, ~, --version-code, 100, --version-name, 2.0.5, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --no-compile-sdk-metadata, --warn-manifest-validation, -I, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk, --manifest, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\AndroidManifest.xml, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\build\resources.zip] [Error] at brut.androlib.AaptInvoker.invoke(SourceFile:213) [Error] at brut.androlib.ApkBuilder.buildResources(SourceFile:352) [Error] at brut.androlib.ApkBuilder.build(SourceFile:93) [Error] at brut.apktool.Main.main(SourceFile:322) [Error] Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ztwl18\AppData\Local\Temp\brut_util_Jar_32585808885910708161749025514335205361.tmp, link, -o, C:\Users\ztwl18\AppData\Local\Temp\APKTOOL5146259972642803888.tmp, --allow-reserved-package-id, --package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --rename-manifest-package, ~, --rename-instrumentation-target-package, ~, --version-code, 100, --version-name, 2.0.5, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --no-compile-sdk-metadata, --warn-manifest-validation, -I, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk, --manifest, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\AndroidManifest.xml, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\build\resources.zip] [Error] at brut.util.OS.exec(SourceFile:143) [Error] at brut.androlib.AaptInvoker.invoke(SourceFile:209) [Error] ... 3 more [Error] try compile package:1 [Info] I: Using Apktool 2.11.1 on __UNI__2A8045D_nosign.apk with 8 threads [Info] I: Checking whether resources have changed... [Info] I: Building resources with aapt2... [Error] W: error: invalid manifest package override '~'. [Error] Exception in thread "main" brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ztwl18\AppData\Local\Temp\brut_util_Jar_60741608480026843025495378542560366331.tmp, link, -o, C:\Users\ztwl18\AppData\Local\Temp\APKTOOL13395895879516730060.tmp, --allow-reserved-package-id, --package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --rename-manifest-package, ~, --rename-instrumentation-target-package, ~, --version-code, 100, --version-name, 2.0.5, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --no-compile-sdk-metadata, --warn-manifest-validation, -I, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk, --manifest, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\AndroidManifest.xml, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\build\resources.zip] [Error] at brut.androlib.AaptInvoker.invoke(SourceFile:213) [Error] at brut.androlib.ApkBuilder.buildResources(SourceFile:352) [Error] at brut.androlib.ApkBuilder.build(SourceFile:93) [Error] at brut.apktool.Main.main(SourceFile:322) [Error] Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ztwl18\AppData\Local\Temp\brut_util_Jar_60741608480026843025495378542560366331.tmp, link, -o, C:\Users\ztwl18\AppData\Local\Temp\APKTOOL13395895879516730060.tmp, --allow-reserved-package-id, --package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --rename-manifest-package, ~, --rename-instrumentation-target-package, ~, --version-code, 100, --version-name, 2.0.5, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --no-compile-sdk-metadata, --warn-manifest-validation, -I, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk, --manifest, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\AndroidManifest.xml, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\build\resources.zip] [Error] at brut.util.OS.exec(SourceFile:143) [Error] at brut.androlib.AaptInvoker.invoke(SourceFile:209) [Error] ... 3 more [Error] try compile package:2 [Info] I: Using Apktool 2.11.1 on __UNI__2A8045D_nosign.apk with 8 threads [Info] I: Checking whether resources have changed... [Info] I: Building resources with aapt2... [Error] W: error: invalid manifest package override '~'. [Error] Exception in thread "main" brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ztwl18\AppData\Local\Temp\brut_util_Jar_134479642307784741174883779760754011017.tmp, link, -o, C:\Users\ztwl18\AppData\Local\Temp\APKTOOL17372719797248349853.tmp, --allow-reserved-package-id, --package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --rename-manifest-package, ~, --rename-instrumentation-target-package, ~, --version-code, 100, --version-name, 2.0.5, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --no-compile-sdk-metadata, --warn-manifest-validation, -I, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk, --manifest, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\AndroidManifest.xml, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\build\resources.zip] [Error] at brut.androlib.AaptInvoker.invoke(SourceFile:213) [Error] at brut.androlib.ApkBuilder.buildResources(SourceFile:352) [Error] at brut.androlib.ApkBuilder.build(SourceFile:93) [Error] at brut.apktool.Main.main(SourceFile:322) [Error] Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ztwl18\AppData\Local\Temp\brut_util_Jar_134479642307784741174883779760754011017.tmp, link, -o, C:\Users\ztwl18\AppData\Local\Temp\APKTOOL17372719797248349853.tmp, --allow-reserved-package-id, --package-id, 127, --min-sdk-version, 19, --target-sdk-version, 28, --rename-manifest-package, ~, --rename-instrumentation-target-package, ~, --version-code, 100, --version-name, 2.0.5, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --no-compile-sdk-metadata, --warn-manifest-validation, -I, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\apktool\1.apk, --manifest, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\AndroidManifest.xml, C:\Users\ztwl18\AppData\Local\HBuilder X\AndroidPackWork\cache\__UNI__2A8045D\packge_cache\__NONE__\__UNI__2A8045D_cm\build\resources.zip] [Error] at brut.util.OS.exec(SourceFile:143) [Error] at brut.androlib.AaptInvoker.invoke(SourceFile:209) [Error] ... 3 more [Error] Apk tool compile package to apk failed [Error] 制作结果:Failed. Reason:
最新发布
07-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值