• 两个app 的合并


      我们需要把两个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 包有重复,因此会提示:

    1411439813_974342.jpg

               解决方案:找到重复的包,然后删除了

          (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的认知(可以多参考官方文档)

     

      

  • 相关阅读:
    利用jquery修改href的部分字符
    javascript基础 思维导图2
    Javascript 思维导图 绘制基础内容(值得一看)
    JavaScript判断是否全为中文,是否含有中文
    将Jquery序列化后的表单值转换成Json
    连接Oracle时报错ORA-12541: TNS: 无监听程序
    A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations: /usr/local/eclipse/
    (转)Debian 安装与卸载包命令
    Flume 1.7.0单机版安装
    Struts2.5学习笔记----org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter报错
  • 原文地址:https://www.cnblogs.com/gengen1990/p/5611397.html
Copyright © 2020-2023  润新知