application id 与 package name 分工明确。
application id负责 App 的进程 ID
package name负责R的包名以及 Manifest 中 Activity 等四大组件的相对包名
如果 build.gradle 中没有指定applicationId,那么 application id 的默认值就是manifest的package属性值。
在项目需要打不同的包,并且手机上需要都可以安装。那么我们可以按多渠道打包的方式去设置application ,如下图。
关于 applicationIdSuffix 这个,在打包添加到包名中。
比如 原先我的包名是 com.demo applicationId是com.demo 那么打包后applicationId 就变成了com.demo.ti 或者com.demo.jt了。
注意: 微信 分享和支付 设置app包名的时候 ,填入的应该是applicationId 。
回调的activity 应该放在 如com.demo.jt.wx 等等。 所以应该提前就写好。
配置文件也写全称。
关于buildConfigField
buildConfigField来为我们的项目进行动态配置的目的,
应该这个项目。在网络请求中,不同的包,传递的参赛不一样。 所以就在gradle里面配置
然后通过BuildConfig 去获取。
注意gradle 4.0 爆了个
Error:All flavors must now belong to a named flavor dimension.Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
这个错误。解决办法添加 flavorDimensions"versionCode"
defaultConfig{
flavorDimensions"versionCode"
}
当在测试的时候选择用默人运行那个渠道方法:
网友评论