Android ApplicationId 与 PackageName
2016-07-12 18:03
387 查看
android中的包名一共有两个作用,一个是作为一个程序的标识(两个程序是否为同一个程序,看它们的包名),一个是在代码中使用,比如导入R文件,或者在manifest中声明如activity时,可以不声明全称,用.xx.Activity就可以,前提是Activity所在的包名的前缀秘你的程序的包名一致。
这样下来就会有一个问题,比如我前期包名没起好,想改一下,但是这样一改,你的程序就变成一个新的程序了。所以后来的gradle android插件就把它们进行解耦了,packageName用于在代码中使用,applicationId是在build.gradle中指定的,用于程序的标识。这样还有一个好处,假如你想发布一个免费版,一个收费版,你只需要在build.gradle中把applicationId后面加上免费版的后缀包名(如".free"),收费版加上收费版的后缀,你的代码也不需要对包名进行重构。就是这么简单。
这样下来就会有一个问题,比如我前期包名没起好,想改一下,但是这样一改,你的程序就变成一个新的程序了。所以后来的gradle android插件就把它们进行解耦了,packageName用于在代码中使用,applicationId是在build.gradle中指定的,用于程序的标识。这样还有一个好处,假如你想发布一个免费版,一个收费版,你只需要在build.gradle中把applicationId后面加上免费版的后缀包名(如".free"),收费版加上收费版的后缀,你的代码也不需要对包名进行重构。就是这么简单。
相关文章推荐
- ListView的水平滑动
- 仿淘宝商品详情页面标题下拉渐变效果
- Gradle如果查看更多错误信息
- 一种提高Android应用进程存活率新方法
- Android studio中如何生成引用 .aar 和 .jar
- iOS开发之功能模块--推送之坑问题解决
- 【Android基础知识】Handler、Message、Looper的关系
- cocos2dx-3.10_配置问题
- cmos 和 bios中断大全
- Android5.0 强制打开GPS
- IOS Dev Intro - NSDictionary
- iOSFMDB和CoreData
- iOS 富文本相关
- Android静态安全检测 -> Service组件暴露
- Android 6.0 Overview Screen实现原理
- 解决低版本的xcode不能打开xcode8.0
- 李洪强iOS开发之Foundation框架—集合
- iOS中FMDB和GCD剖析
- Android TouchEvent事件
- 消息机制Handler