博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

开发系统app所遇到的问题及解决

Posted on 2018-11-13 17:34  不上班行不行  阅读(8070)  评论(0编辑  收藏  举报

  1. 在源码环境中编译app时(使用mmm编译需要根据app写好Android.mk文件)遇到如下问题

    error: Resource at colorPrimary appears in overlay but not in the base package; use <add-resource> to add.

     产生这个问题的原因是在Android系统中本身是不存在colorPrimary这属性的,所以无法直接进行使用

    一个简单的解决办法是使用<add-resource>标签,如下:

    <resources>
        <add-resource type="color" name="colorPrimary"/>
        <color name="colorPrimary">#3F51B5</color>
   </resources>

  

  2. 在使用了mmm编译出apk后,将其push到/system/priv-app/下后运行时遇到如下问题

    FATAL EXCEPTION:main
   Unable to instantiate application

    产生这个问题的原因是在apk中缺少了dex文件。默认在apk中剔除了dex文件。只要关闭了默认

   剔除便可。在app对应的Android.mk中添加如下:

   LOCAL_DEX_PREOPT := nostripping   默认为true将会剔除了dex文件。nostripping不剔除

 

  3. 在使用mmm编译时,出现了

  No resource identifier found for attribute 'roundIcon' in package 'android'

  编译的时候找不到roundIcon。简单的解决办法就是把这个属性删除了就可以。如果想要使用这个属性,

  需要到源码环境中找到roundIcon的资源文件(可能是比较难找)。之后在app的Android.mk中添加如下

  LOCAL_RESOURCE_DIR := "roundIcon对应的资源路径"

   4. 在使用mmm编译三方app时出现(Android8.0)

ninja: error: unknown target 'MODULES-IN--path'

 

         问题的原因暂时没有查清楚。解决方法是将你的app源码放入到你的android源码中,之后执行mmm appSrc便可