Android相容包multidex的開發和構建方法

來源:互聯網
上載者:User

標籤:

      在Android開發中,函數方法超過65k限制後,我們就常常會用到multidex分包解決,但是multidex的配置,對系統apk的構建、簽名、打包複雜性大大的增加,嚴重的降低了構建效率。那這個問題怎麼處理呢?

      為解決這個問題,通常我們使用的方法就是在Gradle productFlavors建立出來一個 development flavor 和 production flavor 來滿足我們不同構建需求。

      為了更直觀的給大家展示具體的操作,我們通過一個例子來示範如何設定這些flavors在Gradle build檔案中:

android {     productFlavors {         // Define separate dev and prod product flavors.         dev {             // dev utilizes minSDKVersion = <span class="hljs-number">21</span> to allow the Android gradle plugin             // to pre-dex each module and produce an APK that can be tested on             // Android Lollipop without time consuming dex merging processes.             minSdkVersion <span class="hljs-number">21</span>         }         prod {             // The actual minSdkVersion <span class="hljs-keyword">for</span> the application.             minSdkVersion <span class="hljs-number">14</span>         }     }           <span class="hljs-keyword">...</span>     buildTypes {         release {             runProguard true             proguardFiles getDefaultProguardFile(<span class="hljs-string">‘proguard-android.txt‘</span>),                                                  <span class="hljs-string">‘proguard-rules.pro‘</span>         }     } } dependencies {   compile <span class="hljs-string">‘com.android.support:multidex:1.0.0‘</span> }

 

      在你完成了傷處的配置修改之後,你配置productFlavor 和 buildType來使用 ,devDebug 變種app。使用這些變種app,可以設定proguard disable、multidex enable方便測試。

 

      這些配置需要針對Android Gradle外掛程式做如下操作:

      1、在分包前,編譯應用程式中的每一個module包括依賴項目,這個步驟稱為 pre-dexing。

      2、include每一個dex檔案。

      3、最重要的是,對於主dex檔案,不會做切分,以保證計算速度。

      這樣設定既能夠保證我們的最終報是一個使用了multidex模式的,而又不影響我們平時開發的測試效率。

 

Android Studio中使用變種App

 

      使用multidex工具構建變種App是非常方便的。在Android Studio允許我們選擇這種變種構建方式的介面。

      使用Android Studio構建 “devDebug”構建變種app需要完成兩步:

      1、開啟變種編輯視窗,選擇favorites選項。

      2、點擊編譯不同的變種,如所示

 

      以上就是Android相容包multidex的開發和構建的具體方法,希望對大家在使用multidex的時候有所協助。

 

     相關閱讀:《詳談Android如何防止apk程式被反編譯》

 

Android相容包multidex的開發和構建方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.