兩個app 的合并

來源:互聯網
上載者:User

標籤:

  我們需要把兩個app 合并在一起,就是在原有項目基礎上添加一個功能使用。如下有項目a和項目b:

  一開始,我們把項目b獨立成一個module,然後,作為一個庫給項目a調用。

問題是,項目b 已有的application、activity和重複的包, 這個需要怎樣解決呢?

   項目b的application 是可以和項目a的application合并在一起的,但是activity ,就需要想辦法,問題是  只有主要項目才有activity?普通項目是沒有的??

   後來,由於沒把握,就還是採用傳統方法,直接分離項目b ,資源檔放在res  , java檔案放在src,application 合并在一起,androidmanifest合并在一起。

   

  1.主要遇到的問題是:

  (1)由於引入的第三方庫最低支援版本高於項目A的最低支援版本,因此會提示:

Error:Execution failed for task ‘:app:processDebugManifest’. 
> Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library [jp.wasabeef:blurry:1.0.0] /Users/xxx/xxx/app/build/intermediates/exploded-aar/jp.wasabeef/blurry/1.0.0/AndroidManifest.xml 
Suggestion: use tools:overrideLibrary=”jp.wasabeef.blurry” to force usage

       解決方案:提高第三方庫的最低支援版本或者降低項目A的最低支援版本,或者根據提示直接使用 use tools:overrideLibrary =“xxx.xxx.xxx” 來解決問題

      

      (2)由於匯入的jar 包有重複,因此會提示:

           解決方案:找到重複的包,然後刪除了

      (3)由於沒有分配足夠的記憶體給應用,因此出現了

            Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

             解決方案:在build.gradule 添加了

                            dexOptions{javaMaxHeapSize "2g"}

  (4)App的所有代碼都在一個Dex檔案裡面,Dex的方法數控制在0到65536間,如果Dex 裡的方法數過多的話,會導致不能運行。因此,根據官方的說法,需要           a.在gradule.gradule 的defaultConfig中添加

                    multiDexEnabled true

      b.在application 中添加這段(之前是把方法分離了,然後需要再合并到同一個application上)

    @Override    

         protected void attachBaseContext(Context base) 

        {        

         super.attachBaseContext(base);        

         MultiDex.install(this);         

         }

 

主要的問題,也是如上,總的來說,對於android studio  的很多認識,比如快速鍵,gradule、module、project的認識,調試的使用,都是不熟悉,需要自己逐步提升對android studio的認知(可以多參考官方文檔)

 

 

 

  

兩個app 的合并

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.