原文:【Xamarin开发 Android 系列 13】 应用打包部署

开始倒叙咯................

先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋。点解?从界面上填写几个参数,其他都是傻瓜式的【下一步】,童鞋们是否喜欢。卤煮 反正很是受用。

我们开发好的程序,需要打包成 .apk,成为安卓的安装包。然后就可以通过下载的形式安装到 用户终端手机/平板/TV/Watch。。。。。。。

发布程序 主要的还是将应用发布到 谷歌的官方商店 Google Play。。再然后就是其他的应用市场,国内的 百度应用 安智市场 360应用等等

我们分3步讲解:

1、打包

2、生成的程序包结构

3、发布到应用平台市场

【打包】

打包的时候,相当与我们发布程序。此时的编译模式应该选择 【Release】 ,而不是【Debug】。采用Debug 模式的时候,Xamarin 会使用 Java的 Java Debug Wire Protocol (Java 调试线协议(JDWP))-------延伸:

JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)  其中常用的开发平台Eclipse中自带了JDWP兼容的调试器,命令行中常见的有jdb等。

采用【Debug】模式的时候,Xamarin 会在 AndroidManifest.xml、AssemblyInfo.cs 两个文件中进行信息配置。

其中 AndroidManifest.xml 中的

<application
. . .
android:debuggable="true"
. . .
</application>

AssemblyInfo.cs 文件中的

#if RELEASE
[assembly: Application(Debuggable=false)]
#else
[assembly: Application(Debuggable=true)]
#endif

--------------------所以,我们只需要将发布模式改为 Release 即可。

【连接器】

连接器,用来进行带代码分析。将你程序中需要的程序类型 Type进行分析。将需要的类型和不需要的类型进行区分开来,然后编译的时候,减少不必要的程序集的体积开销。

项目属性的配置选项中,有连接器这个选项。

在vs 中的连接选择,默认是 【None】,这个None其实就是,关闭链接信息。

仅仅SDK X需要的程序集。也就是第二个选择项。

第三个是所有程序集。开发中用到的SDK 程序集,第三方程序集都会被打包进程序包。

其实如果不是 部署到测试机,我们选择第二种模式就好。出来的程序包 体积较小。

如果你想自己定义,也可以。Xamarin 提供了自定义配置SDK 程序集信息的文件,也就是个xml文件,在其中定义好 程序集的 type就好。

其他配置选项,一目了然,就不一一介绍了。

【发布打包程序】

程序包的发布需要一个数字签名证书,没有证书是不允许在设备上运行的。但是我们调试的时候,并没有给程序包签名,为啥还可以跑呢?

那是因为,在Xamarin编译程序的时候,自动使用一个调试模式的证书为程序签名了。

好,既然发布程序,那么一开始我们没有为此程序设定证书,我们新建一个证书。。。。喜欢命令行 批的请绕开。我们直接使用UI工具创建证书。

填写对应的信息,注意:填写的密码要记住,以后发布都需要的。。。。。。创建好证书后,以后就可以使用这个证书为此程序进行签名了。

【发布到谷歌Play】

签名之后,用zipalign(压缩对齐)优化你的APK文件。
  未签名的apk不能使用,也不能优化。签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-windows\tools目录下)工具对其优化:

D:\>zipalign -v 4 demo_signed.apk final.apk

  如上,zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值),这样android系统就可以使用mmap()(请自行查阅这个函数的用途)函数读取文件,可以在读取资源上获得较高的性能,
  PS:1.在4个字节边界上对齐的意思就是,一般来说,是指编译器吧4个字节作为一个单位来进行读取的结果,这样的话,CPU能够对变量进行高效、快速的访问(较之前不对齐)。
          2.对齐的根源:android系统中的Davlik虚拟机使用自己专有的格式DEX,DEX的结构是紧凑的,为了让运行时的性能更好,可以进一步用"对齐"进一步优化,但是大小一般会有所增加

【申请账号】

Android Market google play store帐号申请 注册方法流程

在 Google Play 中发布软件之前,您需要完成以下三项工作:
创建开发人员个人资料
接受开发人员分发协议
通过信用卡支付注册费 ( US$25.00)(使用 Google Checkout)
 
这个是老的注册教程,流程和新的差不多 现在有部分是中文的了
 
Android Market的帐号不需要审核,支付完成后,就开通了,就可以发布自己的(免费)应用了

应用管理控制台google搞得很隐蔽,比较难找到 https://play.google.com/apps/publish/ 输入上面网址登录后可以直接跳转到管理应用的界面

目前测试交费后可以上传程序 但仍然需要审核,不能马上发布,但时间很快一般一天以内可以完成。

2013-03-12 注:现在应用控制台有改版了变成:https://play.google.com/apps/publish/v2/

控制台里面发布流程和操作界面变化很大了

=========================

google play store 发布应用注意事项:
一:屏幕截图大小必须符合下面规格(是必须对于的宽高,不只是范围):
320x480、480x800、480x854、
1280x720、1280x800
24 位 PNG 或 JPEG 图片(无 alpha)
全出血、无边框艺术照
您可以上传横向浏览模式的屏幕截图。系统会显示旋转后的缩略图,但会保留实际图片和相应浏览模式。
2013-03-12 注:现在截图不需要要求那么严格了,直接手机截图出来就可以上传了。
 
二:必须有一张512 x 512高分辨率应用图标:
512 x 512
32 位 PNG 或 JPEG 图片
文件大小上限:1024 KB
 
三:隐私权政策 必须添加隐私权政策链接,或者选择现在不提交隐私权政策网址
 
四:可以添加宣传图片和宣传文字(英语)
 

五:发布成功一小时后仍然无法在市场上搜索到发布的应用,本人测试两个小时后就搜索到了,估计需要一段时间建立索引后才能搜索到。

==================================

------------*************需要图的可以参考此文章:  http://www.zhuayoukong.com/73895.html  **************

【Xamarin开发 Android 系列 13】 应用打包部署的更多相关文章

  1. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

  2. 【Xamarin开发 Android 系列 3】循序渐进的学习顺序

    原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资 ...

  3. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  4. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  5. 【Xamarin开发 Android 系列 5】 Xamarin 的破解

    原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业版权吧,毕竟一帮猴子辛辛苦苦没日没夜的干活,不说开宝马奔驰,吃饭还是必须的 ...

  6. 【Xamarin开发 Android 系列 6】 Android 结构基础(上)

    原文:[Xamarin开发 Android 系列 6] Android 结构基础(上) 前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android ...

  7. 【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

    原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式 在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Co ...

  8. 【Xamarin开发 Android 系列 8】 创建一个Json读取数据应用(上)

    后续将内容贴上来...........

  9. C#使用Xamarin开发Android应用程序 -- 系列文章

    Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xam ...

随机推荐

  1. C#泛型集合—Dictionary<K,V>使用技巧

    转载:http://blog.csdn.net/a125138/article/details/7742022 1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collec ...

  2. css实现基础几何图形

    我们知道,css3通过border-radius.animation.transform等“新”特性可以绘制很多精致的图形.比如腾讯企鹅Logo.超能陆战队中的大白机器人.太阳系.小黄人.叮当猫.安卓 ...

  3. Unity3D 之UGUI 切换开关(toggle)

    (toggle)开关能够实现通过点击实现开和关. 开关下面有两个游戏元素,一个是背景,一个是文字,背景是开关按钮的背景. 可以通过 Is ON开控制开关的开与关. Group -->分组,能够实 ...

  4. ADO.Net知识总结

    (一)基础知识 ADO.NET: .NET中用来向数据库提交执行SQL语句的一堆类 本机访问直接"Windows验证",但是一般项目中都是单独的数据库服务器,程序在另外一台电脑上连 ...

  5. 20160322 javaweb 学习笔记--response验证码实现

    package com.dzq.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; im ...

  6. 响应式框架中,table表头自动换行的解决办法

    最近在用bootstrap开发网站,在处理一张table的时候发现,通过PC端查看样式正常,在手机上查看时,因为屏幕小,表格被压缩的厉害,表头和数据变形如下图 后来网上找了一下,发现一个好用的CSS属 ...

  7. 有理数类 Java BigInteger实现

    import java.math.BigInteger; public class Rational extends Number implements Comparable { private Bi ...

  8. javascript在html中使用 第10节

    javascript在html中使用 index.html: <html> <head> <title>javascript</title> <s ...

  9. Quartz2.2.1操作手册

    一.初识quartz JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1") ...

  10. 14_输出映射2_resultMap

    [resultMap] 如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间做一个映射列表. 1.定义resultMap,(在UserMapper.xm ...