如何将自定义文件导入APK

4
我们知道,apk文件是一个zip格式的存档文件,包括以下文件和文件夹:
  • AndroidManifest.xml
  • assets
  • classes.dex
  • META-INF
  • res
  • resources.arsc
我想要做的是在apk文件中包含一个自定义文件(如:README.txt),该文件应该放在上述文件旁边。此文件还应包含在“生成已签名APK”中(这意味着README.txt也应该被签名)。我正在使用Android Studio,该过程应在编译时自动化进行(或发布时,或甚至一个简单的脚本都可以)。我尝试添加了一些虚拟的
dependencies {  
    include file.....

但是没有运气。怎么打开呢?:P


在构建项目时如何将任意自定义文件包含在APK中,以便在签署其余部分时,生成已签名的APK也应签署该任意文件,在Android Studio中实现?


4
为什么不将那个文件包含在你的“资产”或“res/raw”文件夹中?这样管理起来非常简单易懂... - Phantômaxx
@FrankN.Stein 这个文件不是用于 Android 本身的。 - guness
@FrankN.Stein认为这是一种签名(不是加密签名)或ID,应该包含在存档文件和系统中。所有存档文件并非都是Android应用程序,有时只是一个zip文件。因此,在每个存档中都有一个“assets”文件夹也是愚蠢的。 - guness
@FrankN.Stein 我正在开发安卓应用,因此在Android Studio上生成APK文件。但是需求来自我无法接触的系统。 - guness
抱歉,我猜不出来了。 - Phantômaxx
显示剩余4条评论
1个回答

5

您只需要告诉源设置包括这些文件即可。例如,如果您的文件是MyApp/src/main/resources/README.txt,则可以将其指定为sourceSet中的一个resources,以便在输出apk中包含该文件。对于jar文件,您也可以使用此方法来包含META-INF信息。

android {
    ...
    sourceSets {
        main {
            resources.includes = [ '**/README.txt' ]
        }
    }
}

同样适用于 aarapkjar,可能还有其他一些格式(对于 jar,你的源设置显然不在 android 闭包下)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接