Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 构建AOSP:如何在SD卡上包含文件?_Android_Build_Android Sdcard_Android Source - Fatal编程技术网

Android 构建AOSP:如何在SD卡上包含文件?

Android 构建AOSP:如何在SD卡上包含文件?,android,build,android-sdcard,android-source,Android,Build,Android Sdcard,Android Source,我正在为一台设备构建4.4,并添加了一些特定于供应商的附加内容—一些APK和共享存储上的一些文件 我已经在源代码树中添加了一个供应商模块,以使用PLATFORM\u copy\u FILES任务复制APK,但这似乎只适用于系统映像中的文件 这在现有的android构建系统中是否可行?因此,由于似乎没有通过AOSP实现这一点的方法,您需要使用一个在引导时添加文件的应用程序。我创建了一个包,您可以在这里找到: 我只是快速地更新了它,所以可能会有一些bug,如果您发现它们可以随意发送请求或提出问题,

我正在为一台设备构建4.4,并添加了一些特定于供应商的附加内容—一些APK和共享存储上的一些文件

我已经在源代码树中添加了一个供应商模块,以使用
PLATFORM\u copy\u FILES
任务复制APK,但这似乎只适用于系统映像中的文件


这在现有的android构建系统中是否可行?

因此,由于似乎没有通过AOSP实现这一点的方法,您需要使用一个在引导时添加文件的应用程序。我创建了一个包,您可以在这里找到:


我只是快速地更新了它,所以可能会有一些bug,如果您发现它们可以随意发送请求或提出问题,我会看一看。但是,代码并不复杂。

因此,我还没有找到通过构建系统实现这一点的任何方法,但您可以对其进行某种程度的破解,尽管我不确定具体是如何实现的。您可以创建一个响应onBoot广播的APK,该广播将把一些资产写到您选择的目录中。我知道我的构建系统中的一些其他APK正在做类似的事情,但你必须进行实验才能让它工作。@AndrewT。谢谢,听起来好像行得通。下一步:找出如何让AOSP构建APK…这看起来很有趣,所以我正在开发一个应用程序来实现这一点。当我完成后,我会发布一个到git回购的链接。一般来说,能够将文件加载到SD卡似乎很有用。问题似乎并不在于构建系统,而是在于用于在设备上安装的部署系统。预加载存储将需要额外的步骤。这似乎非常浪费空间-您仍然会在设备上的APK本身中保留(可能是压缩的)副本。@ChrisStratton确实如此,但我不确定如何使其更好。apk必须包含这些文件,多个用户可能需要这些文件。如果在完成apk的工作后将其删除,新用户将无法获得这些文件。不幸的是,android似乎没有提供太多的替代方案。我认为问题在于假设这必须由apk完成。尽管apk可以从一些非设备源中提取数据。但我认为真正的解决方案取决于理解工厂生产中使用的设备成像方法。@ChrisStratton根据我对AOSP的了解,要将文件包含在用户目录中,它必须是。如果以后可以包含该文件,则该文件仍需要存储在系统目录中的某个位置,以便在创建第二个用户(即平板电脑上)时,将该文件添加到该用户。如果你知道有其他的方法来做这件事,我很乐意听到,把它作为一个答案贴出来。目前,这似乎是任何人都能提供的唯一答案,因此这是我们所能提供的最好的答案。在用户之间复制预装内容听起来不太理想,除非是他们希望删除的内容。Android是否默认在外部存储上提供任何东西?也许把信息放在那里开始的想法就是问题所在。还请记住,系统供应商并不像第三方开发人员那样局限于apk。