【问题标题】:Using cwac-camera via JARs通过 JAR 使用 cwac-camera
【发布时间】:2014-06-19 15:33:53
【问题描述】:

根据demo-layout 示例,我正在使用commonsguy cwac-camera 库,记录在"Working directlly with cameraview" 中。

一切都很好,以源代码形式将 camera/ 和 camera-v9/ 引用为 Android 库项目(我需要 Android 2.3 兼容性,这就是 camera-v9 的用途)。

当我切换到通过 JAR 使用库时: - cwac-camera-v9-0.6.8.jar 只包含 CameraFragment 和 BuildConfig 类,所以我还需要 cwac-camera-0.6.8.jar 和其他类。 - 在运行项目时(不是在编译时)包含两个 JAR 会导致以下不言自明的错误Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/commonsware/cwac/camera/BuildConfig;

我可以将源代码用作库项目,或者使用 Gradle,但我想知道这是否是在 Github 上打开问题的错误,或者我做错了什么。

要复制错误,只需克隆演示布局示例,将两个 .jar 文件添加到 libs 文件夹,然后运行项目。

【问题讨论】:

    标签: android commonsware-cwac


    【解决方案1】:

    不,这似乎是我的错。他们一定改变了我用来创建 JAR 的 Gradle 构建过程中的某些内容。我明天会尝试解决这个问题。同时,您可以进入cwac-camera-v9 JAR 并尝试删除com.commonsware.cwac.camera 中的类,只留下com.commonsware.cwac.camera.acl 中的那些类。

    对此我深表歉意,并感谢您指出!

    【讨论】:

    • @jrub:我已将 v0.6.8 的 camera-v9 JAR 替换为与 com.commonsware.cwac.camera 中的类上的 camera 不冲突的 JAR。获取更新后的 JAR,如果您继续遇到问题,请告诉我(在此处或通过提交问题)。
    • 他们现在很好。感谢漂亮的图书馆!
    • @jrub;很高兴听到它解决了您的问题。我确实需要更新我的 build-a-JAR-from-a-library-project 配方,因为 JAR 包含我没有使用的 RBuildConfig 东西。我的解决方法是纠正另一个问题——cameracamera-v9 在清单中使用相同的包名,导致两组无用的类位于同一目录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多