在我的库中使用android support v7库资源

时间:2013-11-03 06:52:05

标签: android android-library android-support-library

我想在我自己的库中使用android support v7库的资源,我设置

android.library.reference.1=../android-support-v7-appcompat

但是当 gen 文件夹中的项目构建不生成android.support.appcompat.R.java且我无法使用资源时。当我设置android.library=false所有构建正常时,文件生成。但在另一个app项目中使用这个jar我不能:

[2013-11-03 13:49:23 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
[2013-11-03 13:49:23 - MediaKuzbass] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;

2 个答案:

答案 0 :(得分:2)

您的项目路径上有两次support-v7 lib,请更改它。很可能您要构建的项目和您使用的不同库对同一appcompat库使用不同的文件夹。

答案 1 :(得分:0)

将相同的apptheme设置为两个清单。

错误示例:

你的lib:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyThemeChildOfAppCompat" >

您的应用:

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

您将收到错误。

解决方案:

你的lib:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyThemeChildOfAppCompat" >

您的应用:

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MyThemeChildOfAppCompat" >