<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Android的構建過程涉及到許多工具和流程,并會產生一系列中間件,最終生成一個APK文件,可以根據官方提供的流程圖來具體了解構建的過程。 ![](https://box.kancloud.cn/2016-03-16_56e8da7e14e78.jpg) 通常的構建過程就是如上圖所示,下面是具體描述: 1.AAPT(Android?Asset?Packaging?Tool)工具會打包應用中的資源文件,如AndroidManifest.xml、layout布局中的xml等,并將xml文件編譯為二進制形式,當然assets文件夾中的文件不會被編譯,圖片及raw文件夾中的資源也會保持原來的形態,需要注意的是raw文件夾中的資源也會生成資源id。AAPT編譯完成之后會生成R.java文件。 2.AIDL工具會將所有的aidl接口轉化為java接口。 3.所有的java代碼,包括R.java與aidl文件都會被Java編譯器編譯成.class文件。 4.Dex工具會將上述產生的.class文件及第三庫及其他.class文件編譯成.dex文件(dex文件是Dalvik虛擬機可以執行的格式),dex文件最終會被打包進APK文件。 5.ApkBuilder工具會將編譯過的資源及未編譯過的資源(如圖片等)以及.dex文件打包成APK文件。 6.生成APK文件后,需要對其簽名才可安裝到設備,平時測試時會使用debug?keystore,當正式發布應用時必須使用release版的keystore對應用進行簽名。 7.如果對APK正式簽名,還需要使用zipalign工具對APK進行對齊操作,這樣做的好處是當應用運行時會減少內存的開銷。? 在構建APK的過程中,當APK過大,應用中的方法數量超過65536限制的時候,可能會報如下錯誤:Unable?to?execute?dex:?method?ID?not?in?[0,?0xffff]:?65536。一旦遇到上述錯誤,就需要使用MultiDex方案來解決,但官方的MultiDex方案有一些限制,因此還得使用各種策略填坑才行,具體可參考網上不少較優秀的解決方案。 參考文檔:https://developer.android.com/sdk/installing/studio-build.html#detailed-build
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看