当我创建一个android studio项目时,我看到很多依赖项。所以我决定删除那些,我相信没有被使用。我想知道,这些依赖项用于什么,是否可以安全删除?
我的build.gradle看起来像这样(导航视图活动)
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
并删除未使用的'依赖关系,我留下:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
我的应用程序编译,删除后运行正常。他们真的没用吗?
答案 0 :(得分:1)
编译和运行Android应用程序实际上都不需要依赖项。 Android Studio只是放置了一些依赖项,开发人员可能会在每个项目中使用它们。
以下是您已删除的依赖项列表:
' com.android.support.test.espresso:浓咖啡核:2.2.2' - Espresso测试框架,提供用于编写UI的API 试验。仅在您要为自己编写UI测试时才需要 应用
' junit的:的junit:4.12' - 用于编写单元的JUnit测试框架 或集成测试。如果您不打算进行任何测试,则不需要;
' com.android.support.constraint:约束的布局:1.0.2' - ViewGroup,允许您使用平面视图层次结构创建大型复杂布局(无嵌套视图组)。如果要在项目中使用ConstraintLayout,则需要此依赖项。如果您不需要,可以删除此依赖项。
答案 1 :(得分:0)
图书馆删除了关注ConstraintLayout,这是一种使用AndroidStudio的图形界面更轻松地创建布局的方法。
创建单元和UI测试的库。
它们不是必不可少的,但它们也不是无用的。事实上,你没有这一点很多依赖。
抱歉我的英文。
希望得到这个帮助。
答案 2 :(得分:0)
让我们来看看每个人:
<强>咖啡强>
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
这是一个测试库。它允许您编写自动化测试,以用户身份运行您的应用程序并测试某些条件。请注意androidTestCompile
- 这意味着只有在编译应用程序进行自动化测试时才包含它,而不是在进行正常编译时包含
约束布局
compile 'com.android.support.constraint:constraint-layout:1.0.2'
这是新版ViewGroup
,Google现在建议您使用而不是RelativeLayout
。它更加灵活,可以在非常复杂的布局上实现性能提升。如果您不想这样做,则不需要使用它。
<强> JUnit的强>
testCompile 'junit:junit:4.12'
这是另一个测试库。这个用于运行单元测试。再次注意testCompile
- 此库仅包含在为运行单元测试而完成的构建中,并且在您进行正常编译时不会包含在您的应用程序中。
<强>摘要强>
没有一个库无用。但是,您可能不需要其中任何一个用于您的目的。对于这两个测试库,您可以安全地保留依赖项,并且它不会影响您的实际应用程序编译。