1.准备工作

1.1 反编译工具apktool下载

1.2 java, android SDK安装

1.2 python安装

2.反编译现有包

apktool.bat d test.apk

3. 直接上代码

import re
import os
import shutil file_path = 'F:\\apk\\test\\AndroidManifest.xml' root_path = "F:\\apk\\test\\smali\\com\\test\\package" #smali文件夹下包名目录
def modify_package(package_org, package_name):
with open(file_path, 'r') as f:
file_content = f.read()
new_file = file_content.replace(package_org, package_name) with open(file_path, 'w') as f:
f.write(new_file) list_dirs = os.walk(root_path)
other_package = package_name.replace('.', '/')
other_package_org = package_org.replace('.', '/')
for root, dirs, files in list_dirs:
for file_name in files:
path = root_path + '/' + file_name
modify_file = ''
with open(path, 'rb') as f:
file_s = f.read()
modify_file = file_s.replace(other_package_org, other_package) with open(path, 'wb') as f:
f.write(modify_file) copy_name = "F:\\apk\\" + package_name + "org.apk"
dist_name = "F:\\apk\\" + package_name + ".apk"
os.system('apktool b F:\\apk\\test') #重新打包
shutil.copy('F:\\apk\\test\\dist\\test.apk', copy_name)
shell_cmd = 'jarsigner -verbose -keystore key.key -storepass password -keypass password -signedjar ' + dist_name + ' ' + copy_name + ' alianame' os.system(shell_cmd) # 添加签名 if __name__ == '__main__' :
filelines = ''
with open('channel.txt', 'rb') as f_c: #channel.txt是需要切的包的包名,一行一个包名
filelines = f_c.readlines() package_org = 'com.test.pacakge'
for line in filelines :
modify_package(package_org, line.strip())
package_org = line.strip()

批量修改安卓apk包名的更多相关文章

  1. 获取安卓应用APK包名的方法

    应用商店按照符合Android标准的原则进行设计,使用包名(Package Name)作为应用的唯一标识.即:包名必须唯一,一个包名代表一个应用,不允许两个应用使用同样的包名.包名主要用于系统识别应用 ...

  2. Appium自动化测试3之获取apk包名和launcherActivity后续

    接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...

  3. Android获取APK包名的几种方法

    Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt-- ...

  4. Python Python实现批量安装android apk包

    基于Python实现批量安装android apk包 by:授客 QQ:1033553122 1.相关软件包及文件下载 下载地址:adb软件包及批量安装apk包的py文件.zip 2.测试环境 Win ...

  5. 获取软件的apk包名、查看手机设备名称等

    获取软件的apk包名 1.下载aapt,这里使用的是SDK自带的aapt,找到SDK路径下面的aapt.exe,本机路径:E:\downloads\android-sdk_r23.0.2-window ...

  6. 查看APK包名签名等信息

    有些游戏第三方比如分享需要配置游戏包名和签名,不同渠道包名签名又不同,所以时常需要查看不同apk包等签名信息,之前是使用等微博开放平台的手机客户端查看apk签名,前提是知道包名,网上找了下查看签名和包 ...

  7. Android 使用 aapt 命令查看 apk 包名

    一.aapt 是什么 aapt 即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, ...

  8. AndroidStudio修改程序的包名,可以修改com.example.xxx之类的详解

    转载请说明出处.原创作品. 首先说明一下,当时公司需要修改androidStudio 项目的包名 于是上网查了一下,只看到了修改后面的包名,而不可以修改 前缀的com.example.xxx.所以很无 ...

  9. gradle修改apk包名和apk文件名

    需求1:根据渠道不同给包名添加不同的后缀名 方案: //先定义默认包名,用来复用 def packageName = "xxx.xxxx.xxxx" defaultConfig { ...

随机推荐

  1. hdu 1213 How Many Tables(并查集练习)

    题目链接:hdu1213 赤裸裸的并查集.....水题一个.... #include<stdio.h> #include<string.h> #include<algor ...

  2. MFC控件(7):Split Button

    VS2008中可以看到MFC有一个叫Split Button的控件,要想看它的效果,瞧下QQ那聊天窗口的"发送", "消息记录"这两个按钮就知道了.实际上就是还 ...

  3. JS 实现图片直接下载

    < a   href = "picName.jpg"     id = pic1   onclick = "savepic();return false;" ...

  4. Run SPLAHS2 under SE mode on gem5在gem5的SE模式下,运行SPLASH2程序

    1.  安装相关的gem5,可以参考以前的博客. 2.  下载splash2编译好的软件 首先从gem5的官网下载已经编译成alpha指令集的splash2.下载地址:http://www.gem5. ...

  5. [设计模式-创建型]工厂方法(Factory Method)

    概括 名称 Factory Method 结构 动机 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Method 使一个类的实例化延迟到其子类. 适用性 当一个类不知道它所必 ...

  6. 如何把微信语音汇总成一个MP3文件?

    有的时候想要保存微信中的语音内容,但是苦于语音短且多,因此想要把它汇总成一个音频文件. 本篇以苹果手机为例,安卓手机也可类似. 第一步,安装同步助手 同步助手是一款在电脑上安装,可以保存手机上的内容的 ...

  7. MyBatis:打印SQL 日志

    配置Log4J比较简单, 比如需要记录这个mapper接口的日志: package org.mybatis.example; public interface BlogMapper { @Select ...

  8. Angularjs实现简单分页

    一个后台中总需要一款分页,那我为了自己方便使用,实现如下效果 我把这个组件命名为tm.pagination,原因是因为起名真的太难起了.而且我网名也叫天名, TM就这样了吧.github地址https ...

  9. 常用的meta标签总结

    <!-- 关键字,搜所引擎 SEO --><meta http-equiv="keywords" content="关键字1,关键字2,..." ...

  10. 下载一个应用程序,华硕手机秒变3D扫描仪

    近日,新奥尔良的3D开发先锋Scandy对外发布消息称,其取得了一个重大的突破.这次使用的是硬件巨头华硕的智能手机.该公司新的Android设备(华硕ZenFone AR)被Scandy变成一个借助开 ...