2018年上半年技术总结
前言
在忙了几乎近三四个月后,现在终于稍微闲了些,所以总结一些实际项目中有用的开发功能
1. 同一项目多包名打包
我觉得这个功能真是相当便利,尤其对于前期项目还不是特别稳定,但是针对多客户的开发者来说,但是也有一个很大的缺点,如果多包名对应的应用之间差异性较大,则会彼此间耦合度高,所以前期开发需要做好此部分的处理工作.
1.1 在app下的build.gradle文件的android子节点里进行配置
productFlavors {
APP1 {
applicationId "com.lwyy.app1"
resValue "string", "app_name", "APP1"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher_app1",
provider_name: "com.lwyy.app1.provider",
JPUSH_PKGNAME: "com.lwyy.app1",
JPUSH_APPKEY : "a028430c9cb60fef55hjdfo4",
JPUSH_CHANNEL: "developer-default",
]
}
APP2 {
applicationId "com.lwyy.app2"
resValue "string", "app_name", "APP2"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher_app2",
provider_name: "com.lwyy.app2.provider",
JPUSH_PKGNAME: "com.lwyy.app2",
JPUSH_APPKEY : "12e22a6793977bf580jhgf90",
JPUSH_CHANNEL: "developer-default",
]
}
APP3 {
applicationId "com.lwyy.app3"
resValue "string", "app_name", "APP3"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher_app3",
provider_name: "com.lwyy.app3.provider",
JPUSH_PKGNAME: "com.lwyy.app3",
JPUSH_APPKEY : "3b4a2444314dde9fbhgud0",
JPUSH_CHANNEL: "developer-default",
]
}
}
1.2 再在AndroidManifest.xml文件的对应位置进行如下配置:
在application子节点下 配置
android:icon="${app_icon}"
android:label="@string/app_name"
在provider子节点下配置
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${provider_name}"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/path" />
</provider>
2. 通知栏消息的监听和回复
通知栏消息的回复主要是针对国外的一些软件,比如Telegram,Messager等等,国内的我试了,不能回复