我同意 @7wonders 的观点,但将我的项目导入到HoloEverywhere中会比将HoloEverywhere导入到我的项目中更加困难。
在克隆HoloEverywhere后,你会在项目中看到一个名为“library”的文件夹。
首先,我将它复制到项目根目录下的“libraries”文件夹中,并将其重命名为“HoloEverywhere”。
其次,我编辑了HoloEverywhere文件夹中的“build.gradle”文件,如下所示:
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion '19.0.0'
defaultConfig {
minSdkVersion 7
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
dependencies {
compile files('libs/support-v4-18.0.4.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
}
第三,在项目的根目录下“settings.gradle”中添加
include ":libraries:HoloEverywhere"
在项目包含的那一行之前。
最后,我们应该在“YourProjectName”文件夹内的“build.gradle”文件中添加HoloEveryWhere库到我们的主要项目依赖项中。
dependencies {
compile project(':libraries:HoloEverywhere')
}
不要忘记从项目依赖项中删除 support-v4 和 support-v7 库。
最后,请不要忘记清理项目。选择 Android Studio 菜单中的 Build>Clean Project。我建议通过终端执行此操作,因为在运行窗口中无法看到所有错误。所以选择 Tools>Open Terminal 先导航到项目根目录(命令“cd ..”),然后调用:
UNIX:
./gradlew clean
Windows:
gradlew.bat clean
成功清理后,请构建您的项目。
在构建过程中,我遇到了一个错误:在 HoloEverywhere 库的 AndroidManifest.xml 中没有“application”标签。所以只需添加它,现在一切都没问题了。
还有一件小事,也许是最糟糕的事情:阅读 基本迁移指南 并将所有导入、资源(布局)和覆盖方法更改为来自 HoloEverywhere 库的类以忽略 ClassCastException。
享受吧 :)