Files
server/dist/services/APKBuildService.d.ts
wdvipa 450367dea2 111
2026-02-09 16:34:01 +08:00

224 lines
5.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 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