在Android

时间:2015-11-26 13:52:47

标签: android android-studio jar android-gradle

我有一个Android Jar库(比如它的库),我有几个活动。我有另一个项目(比如ConsumerProject),我在其中包含了上面的jar库。我需要使用Library中创建的Activities到ConsumerProject。

但我担心的是,Gradle在Android Studio中编写的Jar文件并不能准备除Java类文件以外的文件。我无法获得Drawables,XML布局等。

是否仅将Java文件打包在Jar中,或者是否有某些方法我将资源文件夹完全包含在其中。

  

在回答之后我已将arr添加到我的libs文件夹中,编辑了gradle,如图所示。你能看出这里有什么麻烦吗?   See this Image for Dependency Issue within my project

1 个答案:

答案 0 :(得分:0)

由于您使用的是android-gradle,因此您可以将库设置为库项目,在构建之后,您将获得 aar 产品,然后您的consumerproject可以为aar添加依赖项。

导入你的aar,按照:file-> new-> module->导入Jar / aar包 - >选择你的aar,将其命名为库(你可以自定义),然后将此代码添加到您的依赖项中:

class ConditionSerialiser extends CustomSerializer[Condition]( format => (

{
    def deserialiseCondition:PartialFunction[JValue, Condition]= {
      case JObject(List(JField("field", JString(field)), JField("operator", JString(operator)), JField("value", JString(value)))) => BasicStringExpression(field, operator, value)
      case JObject(List(JField("field", JString(field)), JField("operator", JString(operator)), JField("value", JInt(value)))) => BasicNumericExpression(field, operator, value.doubleValue)
      case JObject(List(JField("field", JString(field)), JField("operator", JString(operator)), JField("value", JDouble(value)))) => BasicNumericExpression(field, operator, value)
      case JObject(List(JField("leftExpr", leftExpr), JField("logicalOperator", JString(logicalOperator)), JField("rightExpr", rightExpr))) => BooleanExpression(deserialiseCondition(leftExpr), logicalOperator, deserialiseCondition(rightExpr))
    }
    deserialiseCondition
},
{
  case bse: BasicStringExpression => JObject(List(JField("field", JString(bse.field)), JField("operator", JString(bse.operator)), JField("value", JString(bse.value))))       
}
))

然后同步项目,重建项目,就可以了。