• <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
            <2014年4月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            常用鏈接

            留言簿(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 風輕云淡 閱讀(2304) 評論(0)  編輯 收藏 引用 所屬分類: cocos2d
            久久精品国产男包| 久久久WWW成人免费精品| 久久精品国产2020| 97热久久免费频精品99| 国产午夜精品理论片久久 | 精品久久8x国产免费观看| 久久亚洲国产欧洲精品一| 欧美色综合久久久久久| 久久婷婷国产综合精品| 久久久久国色AV免费看图片 | 精品熟女少妇a∨免费久久| 99久久无码一区人妻| 亚洲AV无码久久精品色欲| 久久精品18| 久久久久四虎国产精品| 人妻无码αv中文字幕久久琪琪布| 久久99国产精品尤物| 久久精品国产久精国产一老狼| 国产精品免费久久久久久久久| 无码国内精品久久人妻蜜桃| 久久精品国产黑森林| 日本精品久久久久中文字幕| 亚洲中文字幕无码久久综合网 | 无码任你躁久久久久久老妇App| 亚洲国产成人久久精品动漫| 人妻无码αv中文字幕久久 | 99久久精品国产麻豆| 亚洲欧洲久久av| 色综合合久久天天给综看| 99久久久久| 久久夜色精品国产| 久久精品亚洲男人的天堂| 成人亚洲欧美久久久久| 亚洲国产精品久久久久网站| 久久综合中文字幕| 日韩精品国产自在久久现线拍| 国产精品久久久久久影院| 一本色道久久综合狠狠躁篇| 久久中文精品无码中文字幕| 久久人人爽人爽人人爽av| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 |