import file_utils import os.path def execute(game, sdk, config): if not checkConfig(config): return 1 subChannel = config['subChannel'] createJmhyProperties(game, sdk, subChannel, config) changePlaceholders(game, sdk, subChannel, config) ret = file_utils.copySdkSmaliCode(game, sdk, subChannel, config) if ret: return ret def checkConfig(config): ''' 检查配置 ''' if 'properties' not in config: print('properties not exists in config') return False properties = config['properties'] if 'agent' not in properties or 'version' not in properties: print('agent or version not exists in properties') return False '''if 'appid' not in config or 'appkey' not in config: print('appid or appkey not exists in config') return False''' return True def createJmhyProperties(game, sdk, subChannel, config): ''' 创建jmhy.properties ''' print('create jmhy.properties') propValue = config['properties'] decompliePath = file_utils.getDecompliePath(game, sdk, subChannel, config['cache']) properties = os.path.join(decompliePath, 'assets', 'jmhy.properties') content = '' for key in propValue: content = '%s%s=%s\n' % (content, key, propValue[key]) print('write properties : %s = %s' % (key, propValue[key])) file_utils.createFile(properties, content) return 0 def changePlaceholders(game, sdk, subChannel, config): decompliePath = file_utils.getDecompliePath(game, sdk, subChannel, config['cache']) manifest = os.path.join(decompliePath, "assets", "BSSDKConfig.xml") ret = file_utils.replaceContent(manifest, '${AppId}', config['placeholders']["AppId"]) if ret: return ret