通过命令行添加带有资源的库

时间:2014-04-06 20:05:32

标签: android command-line

我试图在不使用eclipse或gradle的情况下完成http://developer.android.com/tools/support-library/setup.html#libs-with-res;但是,官方文档不支持这一点。在过去的几个小时里,我一直在谷歌搜索我能想到的一切,但我找不到任何有用的信息。

具体来说,我正在尝试添加support.v7.appcompat库。我可以将jar添加到我的项目中,但我找不到任何方法来添加相关资源。即使我已将java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.添加到android:theme="@style/Theme.AppCompat"每个早期看似相关的搜索结果的<manifest>元素中,我仍然会收到AndroidManifest.xml。我还在android.library.reference.1=<sdk>/extras/android/support/v7/appcompat添加了local.properties,但无济于事。

有人可以告诉我如何从命令行添加这个库吗?

1 个答案:

答案 0 :(得分:2)

  

然而,官方文档不支持

general Android library project instructions应该可以正常工作。

  

我可以将jar添加到我的项目中

这不是你应该做的。

  

我还将android.library.reference.1 =&lt; sdk&gt; / extras / android / support / v7 / appcompat添加到我的local.properties中,但无济于事。

这是project.properties,而不是local.properties。它需要是一个相对的路径,出于一些疯狂的原因,所以请确保你这样设置。

就个人而言,我建议您预算时间转移到Gradle。


事实证明,存在两层问题。除了正确设置命令行构建文件外,主题没有以正确的方式注册。

如果您要在清单中直接引用Theme.AppCompat,则可以:

  • 应位于<application>元素或
  • 应位于活动继承自<activity>
  • 的每个AppCompatActivity元素上

或者,如果您要坚持自己继承自AppTheme的{​​{1}},则需要确保调整所有相关的样式资源。例如,您可以根据常用代码调整Theme.AppCompat中的AppBaseTheme以继承res/values/styles.xml(然后Theme.AppCompat继承自AppTheme)。但是,其他目录中也可能存在AppBaseTheme的定义(例如,AppBaseTheme),也需要进行调整。