diff --git a/ApkTool/channel.json b/ApkTool/channel.json index 6548a68..3352d59 100644 --- a/ApkTool/channel.json +++ b/ApkTool/channel.json @@ -1,17 +1 @@ -{ -"apkname":{"value":"/data/bale_apk/ApkTool/gmswz_TT_gy_01.apk"}, - "leguChannel": { - "value": "test7", - "suffix": "1" - }, - "num": { - "value": "1", - "start": "1" - }, - "keystore": { - "filename": "/www/wwwroot/legusdk/app/Components/SDK/ApkTool/keystore/legu729.keystore", - "storepass": "123456", - "alianame": "legu", - "keypass": "123456" - } -} \ No newline at end of file +{"leguChannel": {"value": "gmswz_tt_cq", "suffix": "1"}, "num": {"value": "1", "start": "12"}, "keystore": {"filename": "/data/bale_apk/ApkTool/keystore/legu729.keystore", "storepass": "123456", "alianame": "legu", "keypass": "123456"}, "master_package": {"value": "/data/bale_apk/ApkTool/gmswz_ceshi.apk"}} \ No newline at end of file diff --git a/utils/bale.py b/utils/bale.py index 1a2d5f4..be8e33f 100644 --- a/utils/bale.py +++ b/utils/bale.py @@ -35,6 +35,7 @@ class Bale: 'msg': b } requests.post('http://gamesdk.legu.cc/api/subpackageRecord/getRecord', data=data) + return path = os.path.join(settings.ROOT_DIR, 'ApkTool/bin') if not os.path.exists(path): diff --git a/utils/make_tool.py b/utils/make_tool.py index d03dd34..696cd0f 100644 --- a/utils/make_tool.py +++ b/utils/make_tool.py @@ -41,6 +41,7 @@ class MakeTool: self.lg_reyun_io_appkey = '' self.lg_reyun_io_channelId = '' self.eventType = '' + self.master_package = '' def _init_props(self): # 提取参数 @@ -67,7 +68,7 @@ class MakeTool: self.packNum = props.get('num', {}).get('value') or self.packNum self.start = props.get('num', {}).get('start') or self.start self.start = int(self.start) - self.packNum = int(self.packNum) + 1 + self.packNum = int(self.packNum) + self.start self.appid = props.get('appid', {}).get('value') or self.appid self.gism_id = props.get('gism_id', {}).get('value') or self.gism_id @@ -86,6 +87,8 @@ class MakeTool: self.lg_reyun_io_channelId = props.get('lg_reyun_io_channelId', {}).get('value') or self.lg_reyun_io_channelId self.eventType = props.get('eventType', {}).get('value') or self.eventType + self.master_package = props.get('master_package', {}).get('value') or self.master_package + def _init_path(self): bin_dir = os.path.join(self.MakeDir, 'bin') if os.path.exists(bin_dir): @@ -93,8 +96,18 @@ class MakeTool: os.makedirs(bin_dir) def check_props(self): - if not os.path.exists(self.apkName): - return False, '缺少apkName路径' + if self.packNum < 1: + return False, '打包数不能小于1' + + if not os.path.exists(self.master_package): + return False, '缺少母包路径' + + if not os.path.exists(self.keystore): + return False, '缺少keystore路径' + + if self.easyName: + self.apkName = self.easyName + return True, 'ok' def modify_channel(self, value): @@ -172,13 +185,13 @@ class MakeTool: with open(os.path.join(self.MakeDir, 'temp/AndroidManifest.xml'), 'w') as f: f.write(tempXML) - unsignApk = os.path.join(self.MakeDir, f'bin/{self.easyName}_{value}_unsigned.apk') + unsignApk = os.path.join(self.MakeDir, f'bin/{self.apkName}_{value}_unsigned.apk') cmdPack = f'cd {self.MakeDir} && java -jar apktool.jar b temp -o {unsignApk}' os.system(cmdPack) - signedjar = os.path.join(self.MakeDir, f'bin/{self.easyName}_{value}.apk') - unsignedjar = os.path.join(self.MakeDir, f'bin/{self.easyName}_{value}_unsigned.apk') + signedjar = os.path.join(self.MakeDir, f'bin/{self.apkName}_{value}.apk') + unsignedjar = os.path.join(self.MakeDir, f'bin/{self.apkName}_{value}_unsigned.apk') cmd_sign = f'cd {self.MakeDir} && jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore {self.keystore} -storepass {self.storepass} -keypass {self.keypass} -signedjar {signedjar} {unsignedjar} {self.alianame}' os.system(cmd_sign) @@ -190,7 +203,7 @@ class MakeTool: :param pack_name: :return: """ - cmd = f'cd {self.MakeDir} && java -jar apktool.jar d -f -s {self.apkName} -o temp' + cmd = f'cd {self.MakeDir} && java -jar apktool.jar d -f -s {self.master_package} -o temp' os.system(cmd) androidmanifest_path = os.path.join(self.MakeDir, 'AndroidManifest.xml') if os.path.exists(androidmanifest_path): @@ -221,7 +234,7 @@ class MakeTool: is_ok, msg = self.check_props() if not is_ok: return False, msg - self._unpack(self.apkName) + self._unpack(self.master_package) self._make() self._clear() except Exception as e: