如何outlook怎么修改签名App包名和签名

APK包名修改 请问如何修改APK包名
字体:[ ] 类型:转载 时间:
今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name),需要了解的朋友可以参考下
今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name)。
目的声明:本文只是为了满足DIY的需要,并不是为了成为打包党,窃取别人的劳动成果,本文所涉及的工具也均为开源的,仅供学习交流之用。
DIY前提:在国内的论坛里,搜索了一下,找到了各种解包,打包的技术内容,以及各种汉化、去广告的帖子,但这个并不是本文的目的。以前见过打包党不仅修改了别人apk的广告用来获利,还将别人apk的包名修改了,所以有人早就实现了,但未能找到相关的技术文章,本文涉及的知识都还是比较浅显的,没有深入的研究底层原因,也参考了网上几个帖子。
PS:在国内论坛上,找一篇原创的帖子很难,基本都是转载的,还不附原文链接,引入了的很多错误,想找到原文都很难,真是很悲剧。国内论坛里,热心人还是少了点,很多问题都死了,无人回答,笔者尝试在CSDN、ITEYE、EOE发过几个帖子,但很少能解决问题,于是只能求助于国外论坛,这也是一个悲剧。
这个问题解决完了,也很简单,至少我这个比较简单,我是想多安装几个QQ浏览器(有IT屌丝安装了10个微信的,这个我表示很汗),基本过程如下:
1、将apk解包成一个文件夹
2、修改AndroidManifest.xml中对应的包名
3、修改smali目录下中的包
4、将文件夹打包成apk
5、将apk重新签名
6、验证apk的签名
7、优化apk
8、安装apk,并测试
基本前提条件:
1、java的环境
2、Eclipse及android的开发环境(这个主要是用来进行调试)
3、text文本编辑器,本人用的是UEdit,也可以用类似的,主要是利用其查找及替换功能
这篇文章主要用来反编译apk得到源码,但google进行了反制,只能得到一些可读性不高的源码,这里主要是利用反编译apk生成程序的源代码和图片、XML配置、语言资源等文件.
参考文献里提到的apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip均可以从http///p/android-apktool/上下载,下载好之后,将涉及的命令行目录及exe目录添加到电脑的path路径中,这样就便于操作了,如检测apktool是否可以,可以在命令行中输入apktool,如果可以识别就表示OK了。
参考了国内的技术文章后,有人发帖以上面的思路进行操作,但没有发技术文章,所以笔者只能去国外论坛中逛逛了,在Stack Overflow中,找到了相关的帖子,有老外留言"you can't do this",这个的确有违技术道德,但这里只做学习参考或交流。找到了一片帖子/questions/9218641/renaming-the-package-name-inside-an-apk,这篇帖子的回答给了比较详细的步骤(如上),他的情况比这个还稍微复杂点,简化后就是我要的结果,我就是按照这个基本步骤来的,回答的英文比较好懂(很有可能是国人)。
下面就按照上面的步骤一步步操作:我是已QQ浏览器4.0版的apk来操作的。
1、我的apktool安装到了E盘下的apktool目录下,所以的操作也在这个目录下进行&E:\apkTool
  &将apk复制到E:\apkTool目录下,重命名为qq4.0.apk(这个没有要求,随意就好)
& & &将apk解包 &命令行下cd到E:\apkTool这个目录 &apktool d qq4.o.apk qq4 &将apk解包到qq4(这个也可以随意)这个目录
& & &E:\apkTool\qq4这个目录下内容如下:
2、修改AndroidManifest.xml中的包名,
& & &将package后面的包名com.tencent.qbx改为你想要的新包名,我改为了com.tianxiao.tencentweb
& & &将涉及原包名的com.tencent.qbx的相关activity的声明中的包名均改为新包名com.tianxiao.tencentweb
  &至于intent-filter里面的action名中包含原包名的,则可以不改,如果改的话,代码中也要相应的改变
& & &另外,如果有provider,provider的authorities也得改,这个在同一手机上必须唯一,否则安装会失败
3、在E:\apkTool\qq4\smali目录下,有很多子目录,子目录下的文件多以smali结尾,这中文件的语法有点类似于汇编语言,具体原理就不深究了。
  &将smali目录下的所有文件中的原包名的声明形式com/tencent/qbx改为新包名com/tianxiao/tencentweb
  &具体如下,用UEdit在文件中替换即可,将目标目录指向E:\apkTool\qq4\smali,这个将近1000条左右
& & &如果之前改为action里面的包名,也要将字符串形式的包名com.tencent.qbx改为com.tianxiao.tencentweb
& & &如果有provider也要讲原来的authorities值改为在AndroidManifest.xml中新改的authorities值。
4、将E:\apkTool\qq4重新打包为apk
& & &apktool b qq4 newqq.apk
5、将新的newqq.apk 重新签名
& & &签名的方法很多,一主要是手动生成签名,用命令行签名
& & &我采用的现成的,下载了一个Auto-sign的文件夹,进行了签名,这个比较简单,网上帖子很多,就不赘述。
& & &新签名后的apk名为 &newqq4signed.apk
6、验证签名 是否正确
& & &jarsigner -verify &-verbose -certs newqq4signed.apk
& & &一般来说,没问题,略过
7、优化apk
& & zipalign -v 4 newqq4signed.apk latestqq.apk&& &优化过的apk名为latestqq.apk
8、安装新的apk,验证是否成功
& & &这个最好把Eclipse打开,手机连上,查看logcat的安装信息。
& & &我尝试了3次才成功,主要是忘了&provider的authorities的处理,
出错信息如下:&Can't install because provider name qbx_bookmarks (in package com.tianxiao.tencentweb) is already used by com.tencent.qbx
原因很清楚,所以debug还是相当给力的,原来不喜欢debug,看debug过程可以更好的了解执行过程。
在进行了测试后,笔者有多次重复了2-8这几个步骤,共得到了4个新的apk,安装后的结果如下图:
如图,QQ4.0的浏览器,原装的装了一个,重新打包的有4个,预期目标达到了。
本次尝试成功了,花了不少时间查资料,基本原理相当的清楚,本文中笔者尽可能不产生歧义,欢迎各位交流和批评。
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。银牌会员, 积分 3280, 距离下一级还需 1720 积分
主题帖子社区积分
机&&&&&&&型:魅族 PRO 5版&&&&&&&本:总签到数:55
轻松注册,让你轻松玩转Flyme社区
才可以下载或查看,没有帐号?
本帖最后由 抱紧你的大头 于
18:02 编辑
问题详情 →
应用自定义权限重名导致应用无法安装,这个问题大家时不时都会碰到,但是原因却没人说得清,而且去网上搜出来的结果全都是魅族的,导致大家都以为这是
这倒真是冤枉 Flyme 了,你搜不到别的机型有这个问题,只是因为魅族的叫法是“应用自定义权限重名”,而其他的叫法一般是“应用权限冲突安装失败”这类,如果大家去百度搜这个关键词就能看到很多结果了,所以,事实证明这并非是魅族的问题,而是 Android 5.0 和应用自身的问题。
类似的问题在百度LBS开放论坛中都有人反馈过:
QQ截图38.png (81.49 KB, 下载次数: 14)
10:15 上传
可能看起来有点复杂?简单点来说就是:手机上已经装了A应用,你现在要装B应用,然而A和B都用了一个共同的权限但是他俩签名不一致,于是B安装失败。想要解决?找出A,卸载A,就能愉快的装上B了。:lol
详细教程 →
但是要怎么找出A是个问题,手机里那么多应用,谁知道是哪个幺蛾子在作祟?好吧,教程来了:
<span style="color:#.
下载安装log工具;
2. 安装 log 工具后按照下载链接里的方法开始抓 log,然后安装 B,等 B 提示自定义权限重名安装失败后停止抓 log;
3. MX4 Pro的话在手机存储盘里找到 Android/log 文件夹,按时间戳找到刚抓的 log 文件夹,将里面的 logSnapshot 文件复制到电脑上;& &
MTK平台的机型需要将mtklog/mobilelog/对应时间文件夹/sys_log文件复制到电脑上;
4. 电脑上安装 Notepad++ ,主要是这个应用看起来舒服很多;
5. 找到 log 文件,右键选择用 Notepad 打开,然后点击左上角的“搜索”键,点击“查找”,搜索这个字段“PackageManager:”,点击“在当前文件中查找”;(当然搜 “already owned”可能更快,谢谢@MZ_yklee 提醒~)
<span style="color:#. 出来的结果大致如下,看不清的可以点开图片查看大图。
QQ截图21.png (170.79 KB, 下载次数: 67)
10:24 上传
举个例子 →
以我为例,我是安装野兽骑行时出现这个提示的,根据这个应用的包名和搜索结果,可以看到最后一行显示这个应用和“星巴克中国”共同占用了“android.permission.BAIDU_LOCATION_SERVICE”这个权限。MTK机型搜到的结果多一些,但是关于这一点的内容也是一样的。所以就能看到问题所在了,要么我继续保留星巴克,要么就卸载星巴克安装野兽骑行。
包名查找 →
不认识包名代表什么应用的话,可以将这个网址复制到地址栏:“/apps/public/detail?package_name=”,然后将包名复制到=后面,打开链接就能知道是什么应用了;
暴力解决 →
觉得以上步骤太麻烦或者你根本不关心和谁冲突只想两个应用都正常安装?嗯,按照百度的结果,你可以 root 后用 RE 管理器将应用安装包复制到 data/app 目录下,重启后即可安装成功。
所以,说到底还是应用本身的问题,Flyme也是吃了不少哑巴亏,以上,结束。
chenney99: owned by com.hoperun.intelligenceportal.sitemonitor想问下这个是什么应用?
繁夜之影: 嗯~装了绿色守护之后其它任何软件都安装不了是这个解决办法么?我现在已经不敢装绿色守护了
风风子: 还是ROOT 用RE管理器最好,全部放到系统应用,看他还冲突!!!哈哈哈
梦丶梦: 不要那么麻烦,同时安装2个冲突的应用就可以了
落破神话: 技术类问题解决方法都应该支持!
签名大头大头,下雨不愁
2016纪念勋章2016年度评选纪念
关注新浪微博已关注官方新浪微博
关注微信已关注官方微信

我要回帖

更多关于 如何修改outlook签名 的文章

 

随机推荐