Main.h revision e572c011feabf6319ba836cf5bc4c3baa0ba6a85
1282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// 2282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// Copyright 2006 The Android Open Source Project 3282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// 4282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// Some global defines that don't really merit their own header. 5282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// 6282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#ifndef __MAIN_H 7282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#define __MAIN_H 8282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 9282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/Log.h> 10282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/threads.h> 11282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/List.h> 12282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/Errors.h> 13fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski#include <utils/StrongPointer.h> 14fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 15282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include "AaptAssets.h" 16fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski#include "ApkBuilder.h" 17fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski#include "Bundle.h" 18fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski#include "ResourceFilter.h" 19282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include "ZipFile.h" 20282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 21282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 22282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski/* Benchmarking Flag */ 23282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski//#define BENCHMARK 1 24282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 25282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#if BENCHMARK 26282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski #include <time.h> 27282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#endif /* BENCHMARK */ 28282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 29fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiclass OutputSet; 30fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 31282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doVersion(Bundle* bundle); 32282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doList(Bundle* bundle); 33282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doDump(Bundle* bundle); 34282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doAdd(Bundle* bundle); 35282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doRemove(Bundle* bundle); 36282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doPackage(Bundle* bundle); 37282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doCrunch(Bundle* bundle); 38282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doSingleCrunch(Bundle* bundle); 39282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 40282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int calcPercent(long uncompressedLen, long compressedLen); 41282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 42282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t writeAPK(Bundle* bundle, 43fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski const android::String8& outputFile, 44fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski const android::sp<OutputSet>& outputSet); 45282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 46282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t updatePreProcessedCache(Bundle* bundle); 47282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 48282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t buildResources(Bundle* bundle, 49fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski const sp<AaptAssets>& assets, sp<ApkBuilder>& builder); 50282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 51282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t writeResourceSymbols(Bundle* bundle, 521e466385d4a4f1acee080fa0fdf16cc8fd8ce7caAdam Lesinski const sp<AaptAssets>& assets, const String8& pkgName, 531e466385d4a4f1acee080fa0fdf16cc8fd8ce7caAdam Lesinski bool includePrivate, bool emitCallback); 54282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 55282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t writeProguardFile(Bundle* bundle, const sp<AaptAssets>& assets); 56282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 57282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern bool isValidResourceType(const String8& type); 58282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 59282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern status_t filterResources(Bundle* bundle, const sp<AaptAssets>& assets); 60282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 61282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiint dumpResources(Bundle* bundle); 62282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski 63282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskistatus_t writeDependencyPreReqs(Bundle* bundle, const sp<AaptAssets>& assets, 64282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski FILE* fp, bool includeRaw); 65e572c011feabf6319ba836cf5bc4c3baa0ba6a85Adam Lesinski 66e572c011feabf6319ba836cf5bc4c3baa0ba6a85Adam Lesinskiandroid::String8 parseResourceName(const String8& pathLeaf); 67e572c011feabf6319ba836cf5bc4c3baa0ba6a85Adam Lesinski 68282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#endif // __MAIN_H 69