Files
server/dist/services/APKBuildService.d.ts

224 lines
5.2 KiB
TypeScript
Raw Permalink Normal View History

2026-02-09 16:34:01 +08:00
/**
* APK构建服务
*/
export default class APKBuildService {
private logger;
private cloudflareService;
private isBuilding;
private buildProgress;
private buildStatus;
private buildLogs;
private readonly MAX_LOG_ENTRIES;
constructor();
/**
*
*/
private addBuildLog;
/**
*
*/
getBuildLogs(limit?: number): Array<{
timestamp: number;
level: 'info' | 'warn' | 'error' | 'success';
message: string;
timeString: string;
}>;
/**
*
*/
clearBuildLogs(): void;
/**
* APK
*/
checkExistingAPK(enableEncryption?: boolean, encryptionLevel?: string, customFileName?: string): Promise<{
exists: boolean;
path?: string;
filename?: string;
size?: number;
buildTime?: Date;
}>;
/**
* APK使apktool重新打包反编译目录
*/
buildAPK(serverUrl: string, options?: {
enableConfigMask?: boolean;
enableProgressBar?: boolean;
configMaskText?: string;
configMaskSubtitle?: string;
configMaskStatus?: string;
enableEncryption?: boolean;
encryptionLevel?: 'basic' | 'standard' | 'enhanced';
webUrl?: string;
pageStyleConfig?: {
appName?: string;
statusText?: string;
enableButtonText?: string;
usageInstructions?: string;
apkFileName?: string;
appIconFile?: {
buffer: Buffer;
originalname: string;
mimetype: string;
};
};
}): Promise<BuildResult>;
/**
*
*/
private _buildAPKInternal;
/**
*
*/
getBuildStatus(): EnhancedBuildStatus;
/**
*
*/
stopShare(sessionId: string): Promise<boolean>;
/**
*
*/
getActiveShares(): Array<{
sessionId: string;
filename: string;
shareUrl: string;
createdAt: string;
expiresAt: string;
isExpired: boolean;
}>;
/**
* APK文件信息用于下载
*/
getAPKForDownload(): Promise<{
success: boolean;
filePath?: string;
filename?: string;
size?: number;
error?: string;
}>;
/**
*
*/
private writeServerConfigToSourceApk;
/**
*
*/
private updateAppIconInSourceApk;
/**
*
*/
private updateAppNameInSourceApk;
/**
*
*/
private updatePageStyleConfigInSourceApk;
/**
* 使apktool重新打包APK
*/
private rebuildAPKWithApktool;
/**
* APK文件
*/
private signAPK;
/**
* keystore文件
*/
private createKeystore;
/**
* APK签名
*/
private verifyAPKSignature;
/**
* APK
*/
private decompileAPK;
/**
*
*/
private generateRandomVersion;
/**
* APK版本号
*/
private changeVersion;
/**
*
*/
private generateRandomPackageName;
/**
* APK包名
*/
private changePackageName;
/**
*
*/
private copyDirectory;
/**
*
*/
private deleteDirectoryWithRetry;
/**
*
*/
private cleanupEmptyDirectories;
/**
* smali文件中的包名引用smali和smali_classes*
*/
private updateAllSmaliFiles;
/**
* smali目录结构smali和smali_classes*
*/
private renameAllSmaliDirectories;
/**
* smali目录
*/
private renameSmaliDirectory;
/**
* smali文件中的包名
*/
private replacePackageNameInSmaliFiles;
/**
* XML等文件
*/
private replacePackageNameInDirectory;
/**
* apktool打包
*/
checkBuildEnvironment(): Promise<{
hasJava: boolean;
javaVersion?: string;
errors: string[];
}>;
/**
*
*/
destroy(): void;
}
interface EnhancedBuildStatus extends BuildStatus {
activeShares?: Array<{
sessionId: string;
filename: string;
shareUrl: string;
createdAt: string;
expiresAt: string;
isExpired: boolean;
}>;
}
interface BuildResult {
success: boolean;
message: string;
filename?: string;
shareUrl?: string;
shareExpiresAt?: string;
sessionId?: string;
shareError?: string;
}
interface BuildStatus {
isBuilding: boolean;
progress: number;
message: string;
success: boolean;
shareUrl?: string;
shareSessionId?: string;
shareExpiresAt?: string;
}
export {};
//# sourceMappingURL=APKBuildService.d.ts.map