Android开发教程签名与多渠道打包

上传人:ldj****22 文档编号:28937654 上传时间:2018-01-21 格式:DOC 页数:13 大小:3.68MB
返回 下载 相关 举报
Android开发教程签名与多渠道打包_第1页
第1页 / 共13页
Android开发教程签名与多渠道打包_第2页
第2页 / 共13页
Android开发教程签名与多渠道打包_第3页
第3页 / 共13页
Android开发教程签名与多渠道打包_第4页
第4页 / 共13页
Android开发教程签名与多渠道打包_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Android开发教程签名与多渠道打包》由会员分享,可在线阅读,更多相关《Android开发教程签名与多渠道打包(13页珍藏版)》请在金锄头文库上搜索。

1、http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有Android 开发教程签名与多渠道打包什么叫签名?为什么签名?签名也叫数字证书,可以理解为一个 app 的一个唯一标识。与项目的包名配合使用作为一个唯一标识。同一个应用不同版本要使用同一个签名,不然产生会冲突,造成安装不上。 (包名一样,签名不一样产生冲突)开发调试生成 apk 使用的是默认签名 debug.keystore命令行模式进入 .android 路径下(sdk 路径下.android,或者用户.android)输入 keytool -list -keystoredebug.keystore输入密

2、码: android就可以查看到 sha1 值这个值是我们平常开发调试的时候生成 apk 所使用的 key,在一些第三方 sdk 申请的时候会用到。在用第三方 sdk 测试的时候使用默认的 debug key 就好,因为,平常开发调试都是用默认的 debug key 进行打包的。正式上线为什么不能用默认的 debug key,而用自签名(自己生成一个 key)1、若使用某一个开发者的默认签名,那么每次上线都必须在这个开发者的 jdk 环境下进行打包2、默认 debug key 是跟随开发环境的,每个开发者的环境不用 key 也不一样,如果开发者出现工作变动或者电脑损坏就会发生 key 丢失的现

3、象。http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有3、签名都是有有效期的,默认签名的有效期是 1 年使用自建签名android studio 中点击 build,选择 generate singed Apk选择要打包的项目点击 nexthttp:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有若之前已经生成过 key store 就直接选择在本地的生成好的 keystore。填入密码alias 别名等资料进行打包。并没有已经生成好的选择 create newhttp:/www.mobiletrain.org/北京千锋互联科技有

4、限公司 版权所有从上到下分别为保存的路径密码别名密码,最好与上一个密码保持一致,便于记忆有效期姓名部门组织(公司)城市省国家代码,中国为 86点击 ok 生成 keystore,我们可以只用这个 jks 进行签名了,把这个 jks 保存好,最好上传至公司 svn.进入签名文件的路径http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有keytool -list -v -alias aaa-keystoreaaaaa.jks查看签名 sha1路径为生成的 apk 存放路径release 是发布版本的意思(debug 是调试版本)点击 finish 进行打包。友盟渠

5、道包1、注册友盟账号2、进入应用管理3、添加应用获取 appkey4、按照集成文档进行配置导包(采用下载,把 lib 下 jar 包导入比较靠谱)配置 manifest 文件(权限,appkey,渠道名称)http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有官方文档中并没有多渠道包的相关资料友盟多渠道包:进入 module build.gradle 文件(要进行打包的主应用的 gradle 文件中)在 android层级下复制以下代码productFlavors wandoujia manifestPlaceholders = UMENG_CHANNEL_VA

6、LUE: wandoujiabaidu manifestPlaceholders = UMENG_CHANNEL_VALUE: baiduc360 manifestPlaceholders = UMENG_CHANNEL_VALUE: c360uc manifestPlaceholders = UMENG_CHANNEL_VALUE: uchttp:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有其中UMENG_CHANNEL_VALUE: wandoujia就是对应配置文件中的$UMENG_CHANNEL_VALUE的值UMENG_CHANNEL_VALUE: u

7、c中的值可以自定义在activity中添加代码publicvoidonResume() super.onResume();MobclickAgent.onResume(this);publicvoidonPause() super.onPause();MobclickAgent.onPause(this);接着就可以打包了 android studio 中点击 build,选择 generate singed Apk选择要打包的 module,并选择 key,填写密码。http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有这里多了flavors,里面就是咱们在g

8、radle中定义的渠道选择所有,选择存放路径点击finsh开始打包。测试,启动应用进行操作,然后去后台查看是否有数据。添加测试设备添加设备http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有打印下面方法的值就是上面要填写的设备识别信息public static String getDeviceInfo(Context context) tryorg.json.JSONObjectjson = new org.json.JSONObject();android.telephony.TelephonyManager tm = (android.telephony.

9、TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);String device_id = tm.getDeviceId();.wifi.WifiManagerwifi = (.wifi.WifiManager) context.getSystemService(Context.WIFI_SERVICE);String mac = wifi.getConnectionInfo().getMacAddress();json.put(mac, mac);if( TextUtils.isEmpty(device_i

10、d) )http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有device_id = mac;if( TextUtils.isEmpty(device_id) )device_id = android.provider.Settings.Secure.getString(context.getContentResolver(),android.provider.Settings.Secure.ANDROID_ID);json.put(device_id, device_id);returnjson.toString();catch(Exception e)e.p

11、rintStackTrace();return null;1、平常开发就用debug签名就可以,编译速度快2、正式上线版本必须使用正式签名,自建的签名1、若使用某一个开发者的默认签名,那么每次上线都必须在这个开发者的jdk环境下进行打包2、默认debug key是跟随开发环境的,每个开发者的环境不用key也不一样,如果开发者出现工作变动或者电脑损坏就会发生key丢失的现象。3、签名都是有有效期的,默认签名的有效期是1年http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有两个包名一样但签名不同的apk,安装会把原来的数据都清空,并且可能出现根本无法安装,平常就用

12、debug签名就行(其实就是什么都不用管,系统会用debug.keystore为你的应用签名)第三方的平台需要sha1,平常开发的时候使用debug,上线也要更换所以上线前和签名有关的需要做两个事情1、使用自己的签名2、第三方平台上的sha1新生成的appkey用自建的签名生成的release包就已经可以用作正式包进行各大平台进行发布了(渠道可以简单的理解为指定的应用市场)打渠道包都通过友盟的平台打友盟渠道包1、在友盟平台上创建一个应用,生成了一个appkey2、下载友盟sdk(解压,libs里的jar导入自己应用中)3、填写appkey4、填写渠道5、添加权限http:/www.mobile

13、train.org/北京千锋互联科技有限公司 版权所有6、baseactivity中添加方法public void onResume() super.onResume();/ 友盟MobclickAgent.onResume(this);public void onPause() super.onPause();/ 友盟MobclickAgent.onPause(this);7、打包多渠道包,多渠道包基本流程和单个渠道包基本一样,不一样的地方有:1、UMENG_CHANNEL不能写死2、在module build.gradle中添加口味,在android层级下就可以打包了http:/www.mobiletrain.org/北京千锋互联科技有限公司 版权所有一旦手机绑定了某个渠道之后,再安装其他的渠道之后他在友盟中所属渠道不会改变,还是原来的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号