不能在其他项目

时间:2017-08-17 09:18:13

标签: android android-context aar custom-view

我有一个aar文件(我做了),我想用于另一个项目的应用程序应用程序模块。

aar有一些自定义视图

我正在使用android studio

1.Problem

1)CustomViewLibrary项目

  • java来源

  • 资源(字符串,布局,颜色......)

  • *导出到此项目

2)在其他SomethingApp项目中

  • *导入CustomViewLibrary项目的ARR

  • 在布局XML中键入一些自定义视图的className

2.Result

  • 在XML编辑器中获取NullPointerException(它显示布局xml预览 标签)
  • 来自CustomViewLibrary项目的AAR(在CustomView类中)的异常
  • 异常消息是

    渲染问题

    显示java.lang.NullPointerException     在android.content.res.Resources_Delegate.getColor(Resources_Delegate.java:183)     在android.content.res.Resources.getColor(Resources.java:915)     在android.content.Context.getColor(Context.java:508)     at com.simplier.common.util.ResourceUtils.getColor(ResourceUtils.java:19)     在com.simplier.common.ui.ActionBar.setTheme(ActionBar.java:245)     在com.simplier.common.ui.ActionBar.updateUi(ActionBar.java:222)     在com.simplier.common.ui.ActionBar。(ActionBar.java:69)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(原生方法)

我尝试重建,清除但不起作用..

预期的问题是自定义视图aar访问奇怪的上下文的资源。 (自定义视图访问颜色和上下文中的其他颜色(CustomViewLibrary的资源))

抱歉我的英语..

我该如何解决这个问题?请帮帮我

修改

in other somthingApp, i want to use my aar to this somthingApp project

the my aar source line when i get NPE, it use aar's resource(in this case colors.xml) from somthingApp's context

1 个答案:

答案 0 :(得分:0)

解决了

<强>前

import aar to android studio's menu(File > New > Import Projects > Module ...)

<强>后

将这些行应用于app的构建gradle

repositories {
  jcenter()
  flatDir {
    dirs 'libs'
  }
}
compile(name: 'CustomViewLibrary', ext: 'aar')

现在成功在xml编辑器中渲染并运行