/* * Tencent is pleased to support the open source community by making Tinker available. * * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved. * * Licensed under the BSD 3-Clause License (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * * https://opensource.org/licenses/BSD-3-Clause * * Unless required by applicable law or agreed to in writing, software distributed under the License is * distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language governing permissions and * limitations under the License. */ package com.tencent.tinker.loader.shareutil; /** * Created by zhangshaowen on 16/3/24. */ public class ShareConstants { public static final String TINKER_VERSION = "1.7.8"; public static final int BUFFER_SIZE = 16384; public static final int MD5_LENGTH = 32; public static final int MD5_FILE_BUF_LENGTH = 1024 * 100; public static final int MAX_EXTRACT_ATTEMPTS = 2; public static final String TINKER_ID = "TINKER_ID"; public static final String NEW_TINKER_ID = "NEW_TINKER_ID"; public static final String OLD_VERSION = "old"; public static final String NEW_VERSION = "new"; public static final String PATCH_BASE_NAME = "patch-"; public static final String PATCH_SUFFIX = ".apk"; public static final String PACKAGE_META_FILE = "assets/package_meta.txt"; public static final String SO_META_FILE = "assets/so_meta.txt"; public static final String SO_PATH = "lib"; public static final String DEX_META_FILE = "assets/dex_meta.txt"; public static final String DEX_PATH = "dex"; public static final String DEFAULT_DEX_OPTIMIZE_PATH = "odex"; public static final String INTERPRET_DEX_OPTIMIZE_PATH = "interpet"; public static final String CHANING_DEX_OPTIMIZE_PATH = "changing"; public static final String DEX_SUFFIX = ".dex"; public static final String JAR_SUFFIX = ".jar"; public static final String TEST_DEX_NAME = "test.dex"; public static final String CHECK_DEX_INSTALL_FAIL = "checkDexInstall failed"; public static final String CHECK_RES_INSTALL_FAIL = "checkResInstall failed"; public static final String CHECK_DEX_OAT_EXIST_FAIL = "checkDexOptExist failed"; public static final String CHECK_DEX_OAT_FORMAT_FAIL = "checkDexOptFormat failed"; // public static final String CHECK_VM_PROPERTY_FAIL = "checkVmArtProperty failed"; public static final String RES_META_FILE = "assets/res_meta.txt"; public static final String RES_ARSC = "resources.arsc"; public static final String RES_MANIFEST = "AndroidManifest.xml"; public static final String RES_TITLE = "resources_out.zip"; public static final String RES_PATH = "res"; public static final String RES_NAME = "resources.apk"; public static final String RES_ADD_TITLE = "add:"; public static final String RES_MOD_TITLE = "modify:"; public static final String RES_LARGE_MOD_TITLE = "large modify:"; public static final String RES_DEL_TITLE = "delete:"; public static final String RES_PATTERN_TITLE = "pattern:"; public static final String DEXMODE_RAW = "raw"; public static final String DEXMODE_JAR = "jar"; public static final String DEX_IN_JAR = "classes.dex"; public static final String PATCH_DIRECTORY_NAME = "tinker"; public static final String PATCH_TEMP_DIRECTORY_NAME = "tinker_temp"; public static final String PATCH_TEMP_LAST_CRASH_NAME = "tinker_last_crash"; public static final String PATCH_INFO_NAME = "patch.info"; public static final String PATCH_INFO_LOCK_NAME = "info.lock"; public static final String META_SUFFIX = "meta.txt"; /** * multi process share */ public static final String TINKER_SHARE_PREFERENCE_CONFIG = "tinker_share_config"; public static final String TINKER_ENABLE_CONFIG = "tinker_enable_"; /** * only for each process */ public static final String TINKER_OWN_PREFERENCE_CONFIG = "tinker_own_config_"; public static final String TINKER_SAFE_MODE_COUNT = "safe_mode_count"; public static final int TINKER_SAFE_MODE_MAX_COUNT = 3; /** * notification id, use to Increasing the patch process priority * your app shouldn't use the same notification id. * if you want to define it, use {@code TinkerPatchService.setTinkerNotificationId} */ public static final int TINKER_PATCH_SERVICE_NOTIFICATION = -1119860829; //resource type public static final int TYPE_PATCH_FILE = 1; public static final int TYPE_PATCH_INFO = 2; public static final int TYPE_DEX = 3; public static final int TYPE_DEX_OPT = 4; public static final int TYPE_LIBRARY = 5; public static final int TYPE_RESOURCE = 6; public static final int TINKER_DISABLE = 0x00; public static final int TINKER_DEX_MASK = 0x01; public static final int TINKER_NATIVE_LIBRARY_MASK = 0x02; public static final int TINKER_RESOURCE_MASK = 0x04; public static final int TINKER_DEX_AND_LIBRARY = TINKER_DEX_MASK | TINKER_NATIVE_LIBRARY_MASK; public static final int TINKER_ENABLE_ALL = TINKER_DEX_MASK | TINKER_NATIVE_LIBRARY_MASK | TINKER_RESOURCE_MASK; //load error code public static final int ERROR_LOAD_OK = 0; public static final int ERROR_LOAD_DISABLE = -1; public static final int ERROR_LOAD_PATCH_DIRECTORY_NOT_EXIST = -2; public static final int ERROR_LOAD_PATCH_INFO_NOT_EXIST = -3; public static final int ERROR_LOAD_PATCH_INFO_CORRUPTED = -4; public static final int ERROR_LOAD_PATCH_INFO_BLANK = -5; public static final int ERROR_LOAD_PATCH_VERSION_DIRECTORY_NOT_EXIST = -6; public static final int ERROR_LOAD_PATCH_VERSION_FILE_NOT_EXIST = -7; public static final int ERROR_LOAD_PATCH_PACKAGE_CHECK_FAIL = -8; public static final int ERROR_LOAD_PATCH_VERSION_DEX_DIRECTORY_NOT_EXIST = -9; public static final int ERROR_LOAD_PATCH_VERSION_DEX_FILE_NOT_EXIST = -10; public static final int ERROR_LOAD_PATCH_VERSION_DEX_OPT_FILE_NOT_EXIST = -11; public static final int ERROR_LOAD_PATCH_VERSION_DEX_CLASSLOADER_NULL = -12; public static final int ERROR_LOAD_PATCH_VERSION_DEX_MD5_MISMATCH = -13; public static final int ERROR_LOAD_PATCH_VERSION_DEX_LOAD_EXCEPTION = -14; public static final int ERROR_LOAD_PATCH_GET_OTA_INSTRUCTION_SET_EXCEPTION = -15; public static final int ERROR_LOAD_PATCH_OTA_INTERPRET_ONLY_EXCEPTION = -16; public static final int ERROR_LOAD_PATCH_VERSION_LIB_DIRECTORY_NOT_EXIST = -17; public static final int ERROR_LOAD_PATCH_VERSION_LIB_FILE_NOT_EXIST = -18; public static final int ERROR_LOAD_PATCH_REWRITE_PATCH_INFO_FAIL = -19; public static final int ERROR_LOAD_PATCH_UNKNOWN_EXCEPTION = -20; //resource public static final int ERROR_LOAD_PATCH_VERSION_RESOURCE_DIRECTORY_NOT_EXIST = -21; public static final int ERROR_LOAD_PATCH_VERSION_RESOURCE_FILE_NOT_EXIST = -22; public static final int ERROR_LOAD_PATCH_VERSION_RESOURCE_LOAD_EXCEPTION = -23; public static final int ERROR_LOAD_PATCH_VERSION_RESOURCE_MD5_MISMATCH = -24; public static final int ERROR_LOAD_PATCH_UNCAUGHT_EXCEPTION = -25; public static final int ERROR_LOAD_GET_INTENT_FAIL = -10000; //load exception code //recover error code public static final int ERROR_LOAD_EXCEPTION_UNKNOWN = -1; public static final int ERROR_LOAD_EXCEPTION_DEX = -2; public static final int ERROR_LOAD_EXCEPTION_RESOURCE = -3; public static final int ERROR_LOAD_EXCEPTION_UNCAUGHT = -4; //patch listener error code public static final int ERROR_PATCH_OK = 0; public static final int ERROR_PATCH_DISABLE = -1; public static final int ERROR_PATCH_NOTEXIST = -2; public static final int ERROR_PATCH_RUNNING = -3; public static final int ERROR_PATCH_INSERVICE = -4; public static final int ERROR_PATCH_JIT = -5; //package check error code public static final int ERROR_PACKAGE_CHECK_OK = 0; public static final int ERROR_PACKAGE_CHECK_SIGNATURE_FAIL = -1; public static final int ERROR_PACKAGE_CHECK_PACKAGE_META_NOT_FOUND = -2; public static final int ERROR_PACKAGE_CHECK_DEX_META_CORRUPTED = -3; public static final int ERROR_PACKAGE_CHECK_LIB_META_CORRUPTED = -4; public static final int ERROR_PACKAGE_CHECK_APK_TINKER_ID_NOT_FOUND = -5; public static final int ERROR_PACKAGE_CHECK_PATCH_TINKER_ID_NOT_FOUND = -6; public static final int ERROR_PACKAGE_CHECK_TINKER_ID_NOT_EQUAL = -7; public static final int ERROR_PACKAGE_CHECK_RESOURCE_META_CORRUPTED = -8; public static final int ERROR_PACKAGE_CHECK_TINKERFLAG_NOT_SUPPORT = -9; // interpret error type public static final int TYPE_INTERPRET_OK = 0; public static final int TYPE_INTERPRET_GET_INSTRUCTION_SET_ERROR = 1; public static final int TYPE_INTERPRET_COMMAND_ERROR = 2; }