1*d57664e9SAndroid Build Coastguard Worker // 2*d57664e9SAndroid Build Coastguard Worker // Copyright 2006 The Android Open Source Project 3*d57664e9SAndroid Build Coastguard Worker // 4*d57664e9SAndroid Build Coastguard Worker // Some global defines that don't really merit their own header. 5*d57664e9SAndroid Build Coastguard Worker // 6*d57664e9SAndroid Build Coastguard Worker #ifndef __MAIN_H 7*d57664e9SAndroid Build Coastguard Worker #define __MAIN_H 8*d57664e9SAndroid Build Coastguard Worker 9*d57664e9SAndroid Build Coastguard Worker #include <utils/Log.h> 10*d57664e9SAndroid Build Coastguard Worker #include <utils/threads.h> 11*d57664e9SAndroid Build Coastguard Worker #include <utils/List.h> 12*d57664e9SAndroid Build Coastguard Worker #include <utils/Errors.h> 13*d57664e9SAndroid Build Coastguard Worker #include <utils/StrongPointer.h> 14*d57664e9SAndroid Build Coastguard Worker 15*d57664e9SAndroid Build Coastguard Worker #include "AaptAssets.h" 16*d57664e9SAndroid Build Coastguard Worker #include "ApkBuilder.h" 17*d57664e9SAndroid Build Coastguard Worker #include "Bundle.h" 18*d57664e9SAndroid Build Coastguard Worker #include "ResourceFilter.h" 19*d57664e9SAndroid Build Coastguard Worker #include "ZipFile.h" 20*d57664e9SAndroid Build Coastguard Worker 21*d57664e9SAndroid Build Coastguard Worker 22*d57664e9SAndroid Build Coastguard Worker /* Benchmarking Flag */ 23*d57664e9SAndroid Build Coastguard Worker //#define BENCHMARK 1 24*d57664e9SAndroid Build Coastguard Worker 25*d57664e9SAndroid Build Coastguard Worker #if BENCHMARK 26*d57664e9SAndroid Build Coastguard Worker #include <time.h> 27*d57664e9SAndroid Build Coastguard Worker #endif /* BENCHMARK */ 28*d57664e9SAndroid Build Coastguard Worker 29*d57664e9SAndroid Build Coastguard Worker class OutputSet; 30*d57664e9SAndroid Build Coastguard Worker 31*d57664e9SAndroid Build Coastguard Worker extern int doVersion(Bundle* bundle); 32*d57664e9SAndroid Build Coastguard Worker extern int doList(Bundle* bundle); 33*d57664e9SAndroid Build Coastguard Worker extern int doDump(Bundle* bundle); 34*d57664e9SAndroid Build Coastguard Worker extern int doAdd(Bundle* bundle); 35*d57664e9SAndroid Build Coastguard Worker extern int doRemove(Bundle* bundle); 36*d57664e9SAndroid Build Coastguard Worker extern int doPackage(Bundle* bundle); 37*d57664e9SAndroid Build Coastguard Worker extern int doCrunch(Bundle* bundle); 38*d57664e9SAndroid Build Coastguard Worker extern int doSingleCrunch(Bundle* bundle); 39*d57664e9SAndroid Build Coastguard Worker extern int runInDaemonMode(Bundle* bundle); 40*d57664e9SAndroid Build Coastguard Worker 41*d57664e9SAndroid Build Coastguard Worker extern int calcPercent(long uncompressedLen, long compressedLen); 42*d57664e9SAndroid Build Coastguard Worker 43*d57664e9SAndroid Build Coastguard Worker extern android::status_t writeAPK(Bundle* bundle, 44*d57664e9SAndroid Build Coastguard Worker const android::String8& outputFile, 45*d57664e9SAndroid Build Coastguard Worker const android::sp<OutputSet>& outputSet); 46*d57664e9SAndroid Build Coastguard Worker 47*d57664e9SAndroid Build Coastguard Worker extern android::status_t updatePreProcessedCache(Bundle* bundle); 48*d57664e9SAndroid Build Coastguard Worker 49*d57664e9SAndroid Build Coastguard Worker extern android::status_t buildResources(Bundle* bundle, 50*d57664e9SAndroid Build Coastguard Worker const sp<AaptAssets>& assets, sp<ApkBuilder>& builder); 51*d57664e9SAndroid Build Coastguard Worker 52*d57664e9SAndroid Build Coastguard Worker extern android::status_t writeResourceSymbols(Bundle* bundle, 53*d57664e9SAndroid Build Coastguard Worker const sp<AaptAssets>& assets, const String8& pkgName, 54*d57664e9SAndroid Build Coastguard Worker bool includePrivate, bool emitCallback); 55*d57664e9SAndroid Build Coastguard Worker 56*d57664e9SAndroid Build Coastguard Worker extern android::status_t writeProguardFile(Bundle* bundle, const sp<AaptAssets>& assets); 57*d57664e9SAndroid Build Coastguard Worker extern android::status_t writeMainDexProguardFile(Bundle* bundle, const sp<AaptAssets>& assets); 58*d57664e9SAndroid Build Coastguard Worker 59*d57664e9SAndroid Build Coastguard Worker extern bool isValidResourceType(const String8& type); 60*d57664e9SAndroid Build Coastguard Worker 61*d57664e9SAndroid Build Coastguard Worker extern status_t filterResources(Bundle* bundle, const sp<AaptAssets>& assets); 62*d57664e9SAndroid Build Coastguard Worker 63*d57664e9SAndroid Build Coastguard Worker int dumpResources(Bundle* bundle); 64*d57664e9SAndroid Build Coastguard Worker 65*d57664e9SAndroid Build Coastguard Worker status_t writeDependencyPreReqs(Bundle* bundle, const sp<AaptAssets>& assets, 66*d57664e9SAndroid Build Coastguard Worker FILE* fp, bool includeRaw); 67*d57664e9SAndroid Build Coastguard Worker 68*d57664e9SAndroid Build Coastguard Worker android::String8 parseResourceName(const String8& pathLeaf); 69*d57664e9SAndroid Build Coastguard Worker 70*d57664e9SAndroid Build Coastguard Worker #endif // __MAIN_H 71