sdk开发

1:SDK的最小版本如果集成该SDK的工程设置的最小版本大,导入以后编译失败,所以SDK的minSdkVersion 一定要尽量小

2:SDK中是否需要用到6.0以后动态申请权限的问题以集成SDK的工程的targetVersion版本为准,minSdkVersion 越小越好,targetVersion 越大越好

3:尽量不要使用静态注册广播,因为有时候使用者集成以后可能不会使用,这样SDK没有初始化,静态注册的广播接收到广播可能引发崩溃

4:接口设计要尽量少,简单、易懂,不能随意修改

5:AppId 和 AppKey的分配,用于区分集成sdk的是哪一个公司

6:尽量不要使用第三方库,防止使用者的项目中使用相同的库引发的冲突,如果无法避免,使用 provided 引用,在文档中标注,让使用者依赖对应的第三方库,比如网络使用HttpURLConnection

7:打aar比较方便,因为它可以包含资源文件、so库、jar包等,但是要注意资源文件的命名格式,一般要加上公司的前缀,为了防止和调用者之间的资源冲突

8:传递过来的参数要进行合法性校验,多判空,SDK最重要的是稳定性

9:SDK的问题排查最好编写一个错误码对应表,谈个吐司或打log,这样问题容易定位,好排查,否则远程排查问题很麻烦

10:crash日志:不能使用bugly等第三方,只能自己收集上报

11:提供混淆配置说明,除了暴露的文件不混淆,实体类文件不混淆

12:UI的使用,出jar包不使用R文件加载资源,Dialog实现UI时,注意承载的Activity的属性设置android:configChanges="keyboardHidden|orientation|screenSize|smallestScreenSize">

资源开头标记sdk标记比如  jz_xxxx

你可能感兴趣的:(android)