一、必须修改:
1、修改package:
AndroidManifest.xml里面的package,是一个Android应用在系统中的唯一标识,package相同的客户端在安装时会尝试覆盖(低版本不能覆盖高版本、不同数字签名的不能覆盖),应用在手机中的存储空间也是以package来命名的。(Application及Activity如果使用的相对路径,也需要修改)
package="com.diandian" => package="com.diandian2_3_2"
2、修改R文件:
因为R文件是ADT自动生成的,保存在以应用package命名的文件夹下,所以修改了package后,应用中引入的R文件也需要修改。
import com.diandian.R => import com.diandian2_3_2.R
3、修改layout布局中的XML命名空间:
如果应用中使用到了自定义组件的自定义属性,就需要在布局XML的开头生命需要使用自定义命名空间中的属性,如:
xmlns:diandian="http://schemas.android.com/apk/res/com.diandian"
最后的com.diandian就是使用的package,所以如果package变了,xmlns也需要修改。
xmlns:diandian="http://schemas.android.com/apk/res/com.diandian" => xmlns:diandian="http://schemas.android.com/apk/res/com.diandian2_3_2"
二、应该修改:
经过以上三处修改,这个工程应该就可以作为一个新的应用安装到手机中了,但是为了让新老应用之间完全没有冲突,应该至少还有以下两处需要考虑修改:
1、SD卡中的文件目录名
这个容易理解,如果应用存储文件会产生冲突,则需要将两个应用的SD卡中的存储目录名也分开
String APP_FOLDER_NAME = "diandian"->String APP_FOLDER_NAME = "diandian2_3_2"
2、在Activity、Service、BroadCast间跳转时,如果使用的是隐式Intent调用时,一般都设定了IntentFilter(像是Action、Scheme等),两个应用中相同的IntentFilter都 会接收相同的Intent,一个很容易出现的情况是,从一个程序中发广播,两个程序都可以接收到
怎样将应用工程在一个Android设备中安装成多个应用
最新推荐文章于 2024-09-17 16:15:33 发布
转载自:
Android Developer