• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 132  文章 - 51  trackbacks - 0
            <2012年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(7)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            cocos2d-x

            OGRE

            OPenGL

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            Signing in Release Mode


            When your application is ready for release to other users, you must:

            1. Obtain a suitable private key
            2. Compile the application in release mode
            3. Sign your application with your private key
            4. Align the final APK package
            發布release版本要有4步
            官方說明: 
             http://developer.android.com/tools/publishing/app-signing.html#releasecompile 


            平時通過Eclipse生成在bin目錄下的apk文件,都是debug版的,如何創建release版的軟件呢? 
            其實還是挺簡單的。 

            1. 通過java自帶的keytool工具,創建release版的keystore 

            keytool -genkey -v -keystore keystore_name.keystore -alias alias_name -keyalg RSA -validity 10000 


            keystore_name.keystore:要創建的release版keystore的文件名 
            alias_name:別名?取個好記點的名字吧,后面還要用到的 (填寫配置文件)
            -keyalg RSA:通過RSA算法生成 
            -validity 10000:有效期,單位是天 

            如果java環境配置正常,輸入命令后會出現下列信息 
            Enter keystore password:(keystore的密碼) 
            Re-enter new password:(確認keystore的密碼) 
            What is your first and last name? 
              [Unknown]:  (姓名,用自己喜歡的名字吧,不知道會顯示在哪里) 
            What is the name of your organizational unit? 
              [Unknown]:  (組織單位) 
            What is the name of your organization? 
              [Unknown]:  (組織,不知道和上面那個有什么區別) 
            What is the name of your City or Locality? 
              [Unknown]:  (城市) 
            What is the name of your State or Province? 
              [Unknown]:  (州,省,縣) 
            What is the two-letter country code for this unit? 
              [Unknown]:  CN 
            Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct? 
              [no]:  yes (確認輸入的信息) 

            Generating 1,024 bit RSA key pair and self-signed certificate (SHA1withRSA) with 
            a validity of 10,000 days 
                    for: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 
            Enter key password for <alias_name> 
                    (RETURN if same as keystore password):(alias的密碼,如果和keytore密碼一致,直接回車) 
            Re-enter new password:(確認alias的密碼) 
            [Storing my-release-key.keystore] 


            2.發布Release版本
            Signing in Release Mode


            When your application is ready for release to other users, you must:

            1. Obtain a suitable private key
            2. Compile the application in release mode
            3. Sign your application with your private key
            4. Align the final APK package
            官方的步驟有4步,編譯release版本的應用程序

            2.1 Eclipse導出
            在Eclipse中,右鍵要發布的項目,依次選擇Android Tool -> Export Signed Application Package... 
            然后就是step-by-step了,選擇剛才生成的release版keystore,輸入密碼,選擇alias,輸入alias密碼,生成release版的apk。 

            2.2 采用ANT命令行形式

            $ ant release

            By default, the build script compiles the application APK without signing it. The output file in your project bin/ will be <your_project_name>-unsigned.apk. Because the application APK is still unsigned, you must manually sign it with your private key and then align it using zipalign. 

            默認編譯出來的版本是沒有證書的<your_project_name>-unsigned.apk ,需要手動添加證書和對齊

            To specify your keystore and alias, open the project ant.properties file (found in the root of the project directory) and add entries for key.store and key.alias. For example: 

            我們可以在ant.properties文件中指定證書位置和對齊

            # This file is used to override default values used by the Ant build system.
            #
            # This file must be checked into Version Control Systems, as it is
            # integral to the build system of your project.

            # This file is only used by the Ant script.

            # You can use this to override default values such as
            #  'source.dir' for the location of your java source folder and
            #  'out.dir' for the location of your output folder.

            # You can also use it define how the release builds are signed by declaring
            # the following properties:
            #  'key.store' for the location of your keystore and
            #  'key.alias' for the name of the key to use.
            # The password will be asked during the build when you use the 'release' target.

            #我的證書在上一級目錄下
            #alias是創建證書時填寫的alias_name

            key.store=../keystore_name.keystore 
            key.alias=alias_name

            接下來的步驟很easy了

            Save your changes. Now you can build a signed .apk in release mode:

            1. Open a command-line and navigate to the root of your project directory.
            2. Use Ant to compile your project in release mode:
              ant release
            3. When prompted, enter you keystore and alias passwords.

              Caution: As described above, your password will be visible on the screen.

            This creates your Android application .apk file inside the project bin/ directory, named<your_project_name>-release.apk. This .apk file has been signed with the private key specified inant.properties and aligned with zipalign. It's ready for installation and distribution.

            ant release后會生成一個<your_project_name>-release.apk的版本

            啊,世界清靜了~~~ 

            最后就是安裝了。 
            由于使用了新的簽名,必須先卸載原來安裝的程序才可以安裝。 


            /////////////////////////////////////////////////////////////////////////////////////////////////////////////

            常見問題:
            生成的debug和release有什么區別 大小差不多

            Support for a true debug build. Developers no longer need to add the android:debuggable attribute to the tag in the manifest — the build tools add the attribute automatically. In Eclipse/ADT, all incremental builds are assumed to be debug builds, so the tools insert android:debuggable="true". When exporting a signed release build, the tools do not add the attribute. In Ant, a ant debug command automatically inserts the android:debuggable="true" attribute, while ant release does not. If android:debuggable="true" is manually set, then ant release will actually do a debug build, rather than a release build. 




























            posted on 2012-08-15 10:11 風輕云淡 閱讀(2296) 評論(0)  編輯 收藏 引用 所屬分類: cocos2d
            久久国产劲爆AV内射—百度| 久久精品免费全国观看国产| 久久精品国产色蜜蜜麻豆| 国产免费久久精品99久久| 久久久av波多野一区二区| 无码人妻少妇久久中文字幕蜜桃| 欧美成人免费观看久久| 日批日出水久久亚洲精品tv| 久久精品成人| 日韩va亚洲va欧美va久久| 午夜精品久久久久成人| 亚洲婷婷国产精品电影人久久| 久久午夜福利电影| 亚洲伊人久久成综合人影院 | 99精品久久久久中文字幕| 久久精品人人槡人妻人人玩AV| 漂亮人妻被黑人久久精品| 久久精品亚洲日本波多野结衣| av国内精品久久久久影院| 国内精品伊人久久久久| 亚洲午夜精品久久久久久人妖| 国产午夜精品理论片久久| 久久综合成人网| 亚洲精品乱码久久久久久蜜桃不卡 | 久久99精品免费一区二区| 久久久久婷婷| 国产毛片欧美毛片久久久| 久久99热只有频精品8| 97精品国产97久久久久久免费| 久久97久久97精品免视看| 久久久国产视频| 久久久久亚洲AV无码网站| 99久久精品免费看国产一区二区三区| 国产AV影片久久久久久| 伊人久久精品影院| 国产高潮国产高潮久久久| 久久久久国产视频电影| 久久久无码精品亚洲日韩蜜臀浪潮| 69久久精品无码一区二区| 亚洲欧美日韩精品久久亚洲区| 久久综合给合久久国产免费|