我正在尝试将android-support-v7-appcompat
添加到我新创建的Android项目中。
按照支持库安装文档(developer.android.com/tools/support-library/setup.html),使用资源添加库部分,我创建了一个android-support-v7- appcompat项目,在将其添加为Android依赖项之前。
编辑:以下是将库项目作为Android依赖项添加到主项目时所遵循的流程的更多详细信息:
但是,即使正确识别了依赖项,Eclipse仍然会将兼容性引用(例如ActionBarActivity
)视为错误,禁止我构建项目。 (See picture here)
为了解决这个问题,我尝试了SE上类似问题所接受的解决方案,即将android-support-v7-appcompat添加到Project的Build Path中,该路径成功地隐藏了阻止我先前编译的错误。
但是,现在在构建和部署项目时,我收到一个错误:应用程序在启动时崩溃,并且控制台显示错误消息:Could not find android-support-v7-appcompat.apk!
(See picture here)。
要继续,使用第一个配置我无法使用Eclipse编译,而使用第二个配置我无法启动应用程序。
因此,我有两个问题:
首先,我应该如何向我的项目添加库,这样我就可以同时构建我的项目和能够在我的库中添加库Eclipse中的代码?
其次,我觉得我缺少Eclipse处理依赖关系的理论知识。 将库添加为Android依赖项与Java依赖项/ vs将项目或其jar添加到Build路径之间有什么区别?
答案 0 :(得分:2)
首先,我应该如何向我的项目添加库,这样我可以同时构建我的项目并能够在Eclipse的代码中使用库的添加?
你的第一种方法应该没问题,这表明存在其他一些问题。例如,appcompat
库项目中可能存在阻止编译的错误。但是,考虑到第二种方法的错误,要么运行appcompat
库(这将无法工作),要么在项目设置中基本上破坏了其他内容,您的应用程序认为它应该构建{ {1}},当没有这样的APK时。
将库添加为Android依赖项与Java Dependency / vs将项目或其jar添加到Build路径之间有什么区别?
永远不要手动修改Eclipse项目中的构建路径。虽然这将满足编译器,但JAR的内容不会打包到您的APK中以便在运行时使用,从而导致运行时崩溃(例如,android-support-v7-appcompat.apk
)。
“Java依赖”适用于纯Java源代码。您不仅没有来自SDK的VerifyError
源代码,而且Android库项目包含Android资源(至少在Android Studio上,还有资产和可选的清单文件)。
对于Eclipse,库项目通过您描述的方法附加到您的问题中的第一种方法。对于Eclipse,普通JAR只是被放入项目根目录中的appcompat
,并且会自动添加到编译时和运行时类路径中。