精华内容
下载资源
问答
  • 今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name)。 目的声明:本文只是为了满足DIY的需要,并不是为了成为打包党...
  • android 自动获取用户手机上所有apk包名,可根据需求进行修改。
  • apk包名修改

    万次阅读 2016-07-05 17:07:47
    欢迎转载,同时请附上原文链接:...今天,想在Android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name)。 目的声明:本文只是为了

    欢迎转载,同时请附上原文链接:http://www.cnblogs.com/tianxiaozz/archive/2012/12/26/change_apk_package_name.html

    今天,想在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,也可以用类似的,主要是利用其查找及替换功能

    参考文章:http://www.cnblogs.com/yshic/archive/2012/06/13/2547605.html

    这篇文章主要用来反编译apk得到源码,但google进行了反制,只能得到一些可读性不高的源码,这里主要是利用反编译apk生成程序的源代码和图片、XML配置、语言资源等文件.

    参考文献里提到的apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip均可以从http//code.google.com/p/android-apktool/上下载,下载好之后,将涉及的命令行目录及exe目录添加到电脑的path路径中,这样就便于操作了,如检测apktool是否可以,可以在命令行中输入apktool,如果可以识别就表示OK了。

    参考了国内的技术文章后,有人发帖以上面的思路进行操作,但没有发技术文章,所以笔者只能去国外论坛中逛逛了,在Stack Overflow中,找到了相关的帖子,有老外留言"you can't do this",这个的确有违技术道德,但这里只做学习参考或交流。找到了一片帖子http://stackoverflow.com/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个,预期目标达到了。

          本次尝试成功了,花了不少时间查资料,基本原理相当的清楚,本文中笔者尽可能不产生歧义,欢迎各位交流和批评。

    欢迎转载,同时请附上原文链接:http://www.cnblogs.com/tianxiaozz/archive/2012/12/26/change_apk_package_name.html

    展开全文
  • Eclipse下修改Android里的apk包名

    千次阅读 2014-08-15 18:52:14
    你安装了Ver1.0的apk后,你继续你的代码,然后生成了Ver2.0。  当你要把Ver2.0装到手机上时,却把以前的那个Ver1.0的覆盖掉了。。。  可是。。。我想要的效果是:在手机上同时安装Ver1.

    【困惑篇】


    你是否有这样的困惑:

        在开发的过程中想要在手机上调试你的程序的各个版本,Ver1.0 , Ver2.0 。。。

        可是呢?你安装了Ver1.0的apk后,你继续改你的代码,然后生成了Ver2.0。

        当你要把Ver2.0装到手机上时,却把以前的那个Ver1.0的覆盖掉了。。。

        可是。。。我想要的效果是:在手机上同时安装Ver1.0和Ver2.0的的啊!!!


    【解决篇】


    1、在Eclipse中,在你的项目的src点击包。然后按F2。

    wKiom1Nsis6CMzXcAAB38bYzdts977.jpg


    2、然后把包名改掉。(注意:要和之前的版本Ver1.0的包名不同)

        然后点 Preview >

    wKiom1Nsizbx9xJFAAErdVyEQSA905.jpg


    3、一直点OK,Finish就可以了。

    wKiom1Nsi3aD0VJBAAKxQd1UT2s588.jpg


    4、最后一步,在你的项目里找到 AndroidManifest.xml 文件。

        然后修改 <manifest> 里的 package = "com.summer.****" , 以及version改成 2.0。

        点击保存,会弹出一个对话框。点击 “Yes”就可以了。

    wKioL1Nsi5GSNTpVAACoMpPzAkg230.jpg


    5、改完以后运行一下看看吧!!!

        哈哈,好多“打地鼠”啊!!!~spacer.gifO(∩_∩)O~

    wKioL1NsjgmgIaYJAAC0ehv5W9A027.jpg



    【番外篇】

        你是否觉得你的apk安装后的名字不够酷炫???

        安装以后是 MouseHit ,而我想要在安装的时候程序名是中文的 “打地鼠” 啊!!!


        这个问题改起来其实很简单。。。

        你在 AndroidManifest.xml 中是否有看到 <application> 里的 android:label 这个字样???

        它写的是 android:label="@string/app_name"你把双引号里的改成你想要的名字就可以了。

        或者你在你的项目的 res/values/string.xml 里找到 app_name 节点,把它改成<string name="app_name">打地鼠</string> 也可以。



    好了,是不是觉得改个 Apk 的名字很简单呀

    展开全文
  • unity一键打包到安卓手机apk包

    千次阅读 2020-06-03 14:40:51
    随着unity版本的更新打包apk包变得很简单了,只需要在UnityHub里添加模块,选择Android Build Support选项里的内容打勾,选择完成,等待一会就下载好了。 下载完成会显示一个安卓图标: 打开unity 知道到你安装到...

    随着unity版本的更新打包apk包变得很简单了,只需要在UnityHub里添加模块,选择Android Build Support选项里的内容打勾,选择完成,等待一会就下载好了。
    在这里插入图片描述
    下载完成会显示一个安卓图标:
    在这里插入图片描述
    打开unity 知道到你安装到的路径,就行了,(在JDK,SDK,NDK,前面打勾有的会自动找到。这里的JDK,SDK,NDK,unity好多版本都是通用的,都可以用)
    在这里插入图片描述
    到这就可以打包了:
    在这里插入图片描述
    打包前得修改一下名字打开Player Settings…找到这个(必改的)随便改什么都行(按照 aaa.bbb.ccc 的格式):
    在这里插入图片描述
    最后Build一下就行了。

    展开全文
  • 今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name),需要了解的朋友可以参考下 今天,想在android手机上安装两...

    转自:http://www.jb51.net/article/32888.htm

    今天,想在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//code.google.com/p/android-apktool/上下载,下载好之后,将涉及的命令行目录及exe目录添加到电脑的path路径中,这样就便于操作了,如检测apktool是否可以,可以在命令行中输入apktool,如果可以识别就表示OK了。

    参考了国内的技术文章后,有人发帖以上面的思路进行操作,但没有发技术文章,所以笔者只能去国外论坛中逛逛了,在Stack Overflow中,找到了相关的帖子,有老外留言"you can't do this",这个的确有违技术道德,但这里只做学习参考或交流。找到了一片帖子http://stackoverflow.com/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个,预期目标达到了。

    本次尝试成功了,花了不少时间查资料,基本原理相当的清楚,本文中笔者尽可能不产生歧义,欢迎各位交流和批评。


    展开全文
  •  apk反编译已经得到广泛的应用,大部分反编译的目的则是查看相应apk的代码编写及学习,(不包括发现软件的漏洞),此文带来的只是修改包名重新打包,目的只有满足在同个手机安装多个相同的软件。  使用工具说明:...
  • 对于一个项目,想更改其中的一部分内容,然后再次安装到手机,我想保留更改前后的app都安装到手机。每次操作都会覆盖文件,提示需要先卸载先前的app; 本文为了解决如上问题,搜了些资料,针对自己的情况做成如下...
  • 有时候,我们需要用同一份生成几个不同的APK包手机上测试,如果不修改配置,安装新APK时,会覆盖之前的APK。解决方法: 1.修改AndroidManifest中的包名: package="com.mini.app.abcd",将包名更改,重新clean...
  • 原来是原包名apk手机上没有卸载,新包名apk运行上去,可能安卓系统判断冲突了 解决办法:运行改包名的版本之前删除真机上原包名apk 在找问题的过程中,想用Android Studio运行试试看,发现运行不上去...
  • 1、修改包名:修改AndroidManifest.xml文件对应的package值即可,尽量用字符 2、修改安装后的app的名称:android 的源码中选择“Res”--“values”文件夹,在“strings.xml”中修改app_name 的value
  • AndroidStudio中修改打包生成的apk名称

    万次阅读 2018-10-18 15:31:57
    前言 : 之前总结了 Android同一套代码打多个APP并能够在同一个手机上安装运行的代码 (点击可跳页查看) , 打包以后生成的名字想要更完善 , 想在打包时自动生成带版本号的apk名称 . 需求 : 打包出的名字例如...
  • 公司最近有个特别的需求,同一套代码,稍做修改(如包名不一样,图标不一样,应用名不一样等),编译出几个不同的应用。刚好用AS重构完项目,在网上查阅了一些资料,终于搞定!!在这记录一下。 AS主要是利用gradle...
  • androidstudio修改包名

    2019-11-25 15:44:57
    修改包名还可以使一台手机上同时安装两个版本的同一款apk。 修改包名的方法如下,记录一下: 1.将目录结构切换为packages 2.选中包名右击改名 3.将所有关联包名的内容都修改 4.修改app模块下的build.gradle...
  • Android studio修改包名

    2019-05-29 22:13:00
    修改包名(有时候可能是为了在手机上运行多个相同的apk) 第一步、首先找到要修改的包,然后右键选择Refactor -- Rename   然后,在弹出框中输入想要改成的名字,点击Refactor    注意,之后要记得点左下角...
  • Android 修改R包名方法

    2014-12-15 14:03:00
    在项目不是在Maven管理之下,但又需要将同一个项目打包成多个名称不同的APK,而且还需可同时安装在同一部手机上(很诡异的要求),Android中apk的安装是根据apk当中AndroidMenifest.xml文件page属性来获取包名,安装...
  • 修改app的build.gradle文件 ... // 设置applicationId(这里很重要,两个相同applicationId的apk不同同时安装在同一台Android手机中) applicationId "com.johan.demo" // 自动生成@string/app_name为demo
  • cocos开发打包成apk,因为我有一个手机是小米2s,然后跑,截图发现图标还是默认的图标,折腾了好一会儿,一开始程序使用系统默认图标,等到应用发布的时候要更换图标,结果在测试机上图标就是不变,其他手机和模拟器...
  • gradle中的包名独立影响同一台手机可以同时安装几个同一项目apk; 同时直接影响项目中第三方使用,比如说微信,假如包名不对应,直接提示“包名不对,请检查包名是否与开放平台上填写的一致”,并且调不起来微信。 ...
  • 360APK包与类更改分析

    千次阅读 2015-09-30 15:24:57
    依然是转载chouchou大神,... 1 题目要求 ...这是360的全球招募无线攻防中的第二题,题目要求如下: ...1)请以重打包的形式将qihootest2.apk的程序包名改为 "com.qihoo.crack.StubApplication",使得在同一手机上面可
  • 两个包名不同的安卓APK,安装冲突

    千次阅读 2019-07-02 12:05:15
    包名千差万别的两个包居然在同一台手机上互斥!!!! 检查了一般有可能引起冲突的文件,比如AndroidManifest,有人说其中的authorities有可能引起冲突,完但还是冲突 提示发生未知错误/有些设备提示已安装该...
  • Android_实现多设备同时安装apk包

    千次阅读 2016-12-22 10:54:45
    apk更新较勤且设备较多时,即使用adb命令安装也是一种很费力的事情。而且因为本人负责公司所有的app测试人手有点不足,就想通过这个办法在安装的时候更方便...在桌面创建一个记事本,将文件的后缀名改为.bat,使用no

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 166
精华内容 66
关键字:

手机改apk包名