Android:如何手动将文件添加到apk?
如何手动将文件添加到Android APK包?APK是一个jar,它是一个zip。所以你可以使用任何操纵拉链的工具 然而,还有一个更复杂的问题:Android平台要求对apk中的所有文件(除了Android:如何手动将文件添加到apk?,android,Android,如何手动将文件添加到Android APK包?APK是一个jar,它是一个zip。所以你可以使用任何操纵拉链的工具 然而,还有一个更复杂的问题:Android平台要求对apk中的所有文件(除了META-INF目录中的文件)进行签名。所以你需要再次打电话签署所有包裹。然后你也应该再打电话 您必须使用与原始apk签名相同的密钥对修改后的apk进行签名。这就是签名的要点:它表明未经签名者批准,包未被篡改。(实际上,您可以使用不同的密钥进行签名,但这样您将无法访问原始应用程序生成的任何数据,反之亦然。)
META-INF
目录中的文件)进行签名。所以你需要再次打电话签署所有包裹。然后你也应该再打电话
您必须使用与原始apk签名相同的密钥对修改后的apk进行签名。这就是签名的要点:它表明未经签名者批准,包未被篡改。(实际上,您可以使用不同的密钥进行签名,但这样您将无法访问原始应用程序生成的任何数据,反之亦然。)
Android开发工具包提供的ant脚本包含运行jarsigner和zipalign的自动化功能。Android SDK附带了一个名为aapt的工具。您可以使用它在现有apk中添加/删除/列出文件。在没有任何参数的情况下运行aapt,它将打印使用说明。要添加文件,请使用:
aapt add MyApp.apk file1 file2 ...
或者你可以打开它,插入文件,转到
META-INF>MANIFEST.MF
获取要插入的文件
SHA1 - Checksum
将其添加到清单中。我认为这是不可能的,因为您需要重新签署apk。也你的意思是从你的应用程序中以编程的方式,对吗?或者进入已经包好的apk,而不必重建一切?我的意思是后者-手动将一个文件插入到一个内置的APKDo中,你需要重新签名或使用zip对齐???@zezba9000是的,你需要重新签名并zipalign apk。它应该是
META-INF
目录被忽略,不明显。验证在PackageParser.collectCertificates()中实现