This commit is contained in:
wuaho 2021-06-02 21:28:58 +08:00
parent f649403571
commit d726e6b303
3 changed files with 23 additions and 25 deletions

View File

@ -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"
}
}
{"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"}}

View File

@ -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):

View File

@ -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: