5ee3dafa98
Introduce a new tool 'idmap' to handle generation and verification of idmap files. The tool is modelled on 'dexopt', and is intended to be used similarly, notably by 'installd'. See cmds/idmap/idmap.cpp for further documentation on 'idmap'. Note: this commit is interdependent on a commit in project build/ to add 'idmap' to PRODUCT_PACKAGES. Note: the changes to androidfw are only stubs. The actual implementation will be provided in Runtime resource overlay, iteration 2. Change-Id: I7131b74ece1e46c8a9c0a31d103e686aa07da2bb
35 lines
1018 B
C
35 lines
1018 B
C
#ifndef _IDMAP_H_
|
|
#define _IDMAP_H_
|
|
|
|
#define LOG_TAG "idmap"
|
|
|
|
#include <utils/Log.h>
|
|
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
|
|
#ifndef TEMP_FAILURE_RETRY
|
|
// Used to retry syscalls that can return EINTR.
|
|
#define TEMP_FAILURE_RETRY(exp) ({ \
|
|
typeof (exp) _rc; \
|
|
do { \
|
|
_rc = (exp); \
|
|
} while (_rc == -1 && errno == EINTR); \
|
|
_rc; })
|
|
#endif
|
|
|
|
int idmap_create_path(const char *target_apk_path, const char *overlay_apk_path,
|
|
const char *idmap_path);
|
|
|
|
int idmap_create_fd(const char *target_apk_path, const char *overlay_apk_path, int fd);
|
|
|
|
// Regarding target_package_name: the idmap_scan implementation should
|
|
// be able to extract this from the manifest in target_apk_path,
|
|
// simplifying the external API.
|
|
int idmap_scan(const char *overlay_dir, const char *target_package_name,
|
|
const char *target_apk_path, const char *idmap_dir);
|
|
|
|
int idmap_inspect(const char *idmap_path);
|
|
|
|
#endif // _IDMAP_H_
|