zoukankan      html  css  js  c++  java
  • Android Developers:在命令行构建和运行

    使用Ant构建脚本构建你的应用程序有两种方式:一种用于测试/调试你的引用程序—debug模式—另一种用于构建你最终发布的包-release模式。无论你使用哪种方式构建你的应用程序,它必须在安装在模拟器或者设备之前被签名—当以debug模式构建的时候使用debug key,当以release模式构建的时候使用你自己的private key。 

     

    无论你使用debug模式或者release模式构建,你需要使用Ant工具来编译和构建你的项目。这将创建你能安装在模拟器或者设备上的.apk文件。当你以debug模式构建的时候,.apk文件自动通过SDK工具使用debug key签名,所以立即能安装在模拟器或者附加的开发设备中。当你以release模式构建的时候,这个.apk文件是没有被签名的,所以你必须运用Keytool和Jarsinger,使用你自己的private key手工签名。 

     

    你阅读并理解Signing Your Applications是非常重要的,尤其是一旦你准备发布你的应用程序和终端用户共享它的时候。那个文档讲述了生成private key和使用它签名你的.apk文件的过程。如果你仅仅是刚开始,可是,你能在模拟器或者你自己的开发设备上,通过以debug模式构建,快速运行你的应用程序。 

     

    如果你没有Ant,你能从Apache Ant官网上获取它。安装它并确保它在你的可执行PATH。在你调用Ant之前,你需要声明JAVA_HOME环境变量来指定JDK被安装的路径。 

     

    注意:当你在Windows中安装JDK的时候,默认是安装在“Program File”目录中。因为空格,这个位置将会导致ant失败。为了解决这个问题,你能像这样指定JAVA_HOME环境变量: 

     

    set JAVA_HOME=c:Progra~1Java<jdkdir> 

    最简单的解决办法,那就是,在一个没有空格目录下安装JDK,例如: 

     

    c:javajdk1.6.0_02 

     

    在Debug模式构建 

    ————————————————————————————————————————————————————————————— 

    为了立刻测试和调试应用程序,你可以在debug模式下构建你的应用程序,并且立即在模拟器上安装。在debug模式中,构建工具使用debug key自动签名你的应用程序,并且使用zipalign优化包。 

     

    在debug模式下构建: 

    1. 打开命令行,导航到你的项目的根目录。 

    2. 使用Ant在debug模式编译你的应用程序: 

     

    ant debug 

    这在项目的bin/目录中创建你的调试.apk文件,名字为<your_project_name>-debug.apk,这个文件已经使用debug key签名,并且zipalign优化。 

     

    每次你改变一个源文件或者资源,你必须再次运行Ant为了打包你的应用程序的最新版本。 

     

    为了在模拟器上安装和运行你的应用程序,阅读下面的章节Running on the the Emulator。 

     

    在Release模式构建 

    ————————————————————————————————————————————————————————————— 

    当你准备向终端用户分发你的应用程序的时候,你必须以release模式构建你的应用程序。一旦你完成在release模式的构建,建议对最终的.apk文件进行附加的测试和调试。 

     

    在你开始以release模式构建你的应用程序之前,注意你必须使用private key签名你的最后应用程序包,然后使用zipalign工具优化它。以release构建这里有两种方式:在release模式构建一个为签名的包,然后手工签名并优化这个包,或者使用构建脚本签名并优化你的包。 

     

    未签名构建 

    如果你未签名构建你的应用程序,然后你将需要手工签名和优化这个包。 

     

    为了以release模式构建一个未签名的.apk文件: 

    1. 打开命令行,导航至你的项目的根目录。 

    2. 使用Ant在release模式下编译你的项目: 

     

    ant release 

    这样在这个项目的bin/目录下创建了你的Andorid应用的.apk文件,名字为<your_project_name>-unsigned.apk。 

     

    注意:注意在这个时候这个.apk文件是未签名的,并且直到你使用你的private key签名前不能被安装。 

     

    一旦你创建了未签名的.apk文件,你的下一步是使用你的private key签名这个.apk文件,然后使用zipalign优化它。为了完成这个步骤,阅读Signing Your Applicaitons。 

     

    当你的apk文件已经被签名和优化的时候,它已经可以被发布给终端用户。你应该在不同的设备或者AVD测试这个最终的构建,来确保它在不同的平台顺畅运行。 

     

    签名和优化构建 

    如果你想,你可以配置Android构建脚本来自动签名和优化你的应用程序包。如果这样做,你必须在你的项目的ant.properties文件中提供你的keystore路径和你的key别名名称。使用提供的这些信息,当你以release模式构建的时候,构建脚本将提示你输入你的keystore和别名密码,并产生你应用程序最终的包,它已经可以发布。 

     

    当心:当以Ant的方式处理输入的时候,在构建的过程中你输入的密码将可见。如果你担心你的keystore和别名密码在屏幕中可见,那么你可能更愿意使用Jarsinger(或者相似的工具)执行手工签名应用程序。为了执行手工的执行签名过程,未签名构建,然后跟着Signing Your Applications继续。 

     

    为了指定你的keystore和alias,打开项目的ant.properties文件(在你的项目的跟目录中寻找),并输入key.store和key.alias实体。例如: 

     

    key.store=path/to/my.keystore 
    key.alias=mykeystore 

     

    保存你的修改。现在你能在release模式构建签名的apk: 

    1. 打开命令行,导航至你的项目的根目录。 

    2. 使用Ant在release模式编译你的项目: 

     

    ant release 
    1. 当提示,输入你的keystore和alias密码。 

    当心:如上面所描述的,你的密码将会在屏幕中可见。 

     

    这样在项目的bin/目录中创建了你的Android应用程序的.apk文件,名字为<your_project_name>-release.apk。这个.apk文件已经使用了在ant.properties文件中指定的private key签名,并使用zipalign优化。它已经可以安装和发布。 

     

    在release模式完成构建和签名 

    一旦你使用private key完成对你的应用程序的签名,你在模拟器或者设备上安装并运行它。你也能尝试从web服务器上向设备上安装它。向网站上传这个签名的.apk文件,然后在你的Android网页浏览器中加载这个.apk的URL,来下载这个应用程序并开始安装。(在你的设备中,确保启动Settings>Applications>Unknown sources。) 

     

    在模拟器上运行 

    ———————————————————————————————————————— 

    在你能在Android模拟器上运行你的应用程序之前,你必须Crate an AVD。 

     

    为了运行你的应用程序: 

    1. 打开AVD Manager,并启动一个虚拟设备 

    从你的SDK的platform-tools/目录,使用avd选项运行android工具: 

     

    android avd  
    1. 安装你的应用程序 

    从你的SDK的tools/目录,在模拟器安装这个.apk: 

     

    adb install <path_to_your_bin>.apk 

    在你构建你的应用程序之后,你的apk文件(使用release或者debug key签名)在你的项目bin/目录中。 

     

    如果有超过一个模拟器在运行,你必须使用-s选项,使用它的serial number,指定在哪个模拟器安装这个应用程序。例如: 

     

    adb -s emulator-5554 install path/to/your/app.apk 


    为了查看可用的设备serial number列表,执行adb devices。 

     

    如果在模拟器上你没有看见你的应用程序,尝试关闭模拟器,从AVD Manager再次启动这个虚拟设备。某些时候,当你第一次安装应用程序,它不会出现在应用程序启动器中,或者访问其它应用程序。这时因为包管理器通常仅仅在模拟器启动的时候完整检测清单。 

     

    一定要创建多个AVD来测试你的应用程序。你应该创建为每个平台和你的应用程序兼容的屏幕类型,创建一个AVD。例如,如果你的应用程序使用Android 4.0(API Level 14)平台编译,你应该为等于或大于4.0的每个平台和你支持的每个屏幕类型,创建一个AVD,然后在上面测试你的应用程序。 

     

    提示:如果你仅仅有一个模拟器在运行,你可以仅仅一步就构建你的应用程序并在模拟器上安装它。导航到你的项目的根目录,使用Ant工具编译的install模式:ant install。这将构建你的应用程序, 

     

    在设备上运行 

    ———————————————————————————————————————— 

    更多信息请阅读Setting up a Device for Developerment。 

     

    一旦你的设备设置完成 

     

    adb -d install path/to/your/app.apk 

     

    -d标识指定你想使用附加的设备(在你还有一个模拟器运行的情况)。 

     

    更多关于上面使用的工具的信息,请查阅下面的文章: 

    • android Tool 

    • Android Emulator 

    • Android Debug Bridge(ADB) 

     

    应用程序签名 

    ———————————————————————————————————————— 

    当你开始开发你的应用程序,明白在系统在模拟器或者设备上安装它们之前所有的Android应用程序必须数字化签名。这里有两种方式实现它:使用debug key(为了立即在模拟器或者开发设备上测试)或者使用private key(用于应用程序发布)。 

     

    Android构建工具帮助你使用debug key在构件时自动签名你的apk文件。这意味这你能编译并且在模拟器上安装你的应用程序,并不需要生成一个你自己的private key。然而,请注意,如果你想发布你的应用程序,你必须使用你自己的private key签名你的应用程序,而不是通过SDK工具生成debug key。 

     

    ADT插件帮助你在将它们安装到模拟器和开发设备之前,快速使用debug key签名你的apk文件。这意味着你能在没有生成你自己的private key之前,从Eclipse中快速运行你的应用程序。没有你需要具体执行的动作,提供的ADT已经访问了Keytool。然而,请注意如果你想发布你的应用程序,你必须使用你的private key签名你的应用程序,而不是使用SDK工具生成的debug key。 

     

    请阅读Singing Your Applications,它为Android应用程序签名提供了一个全面的指南,和它对于一个Android开发人员意味着什么。这个文档也包含一个使用ADT的Export Wizard导出并签名你的应用程序指南。

  • 相关阅读:
    数据结构-栈(二)模板-C++实现-2,8,16进制转换
    数据结构-栈(一)模板-C++实现
    数据结构-环形队列-队列模板实现-c++代码
    【Prince2科普】Prince2七大流程概论
    自定义时代项目经理的自我修炼 受控环境下项目管理的实践应用
    【项目管理】《挑战埃及》沙盘介绍
    【Prince2科普】P2七大主题之进展
    【Prince2科普】P2七大主题之变更
    【Prince2科普】P2七大主题之风险
    【Prince2科普】P2七大主题之计划
  • 原文地址:https://www.cnblogs.com/pangblog/p/3395354.html
Copyright © 2011-2022 走看看