如何移除 Android v7 兼容支持?

5

我在使用Android支持库v7时遇到了一些问题,提示缺少某些jar包。我想用Android Support v4或其他版本制作一个简单的Hello World应用程序,但是如何删除Android Support v7呢?


2
从项目设置中删除依赖项? - Marco Acierno
移除依赖项不起作用,它会产生错误。当我通过删除操作栏监听器来消除这些错误时,运行时仍然没有显示任何内容。 - Imran Khurram
  1. 从依赖项中移除它。
  2. 从您的项目中使用的 Android 库项目中移除它(如果有)。
  3. 清理项目。
- Tzoiker
2个回答

9
这是一个有些繁琐的任务。最简单的方法是创建一个新项目,在向导中取消选中“创建Activity”,然后在src中添加一个新类。
但如果您确实希望从现有项目中删除v7内容,下面是一种删除它以及action bar和fragments相关内容的方法:
- 从project.properties中删除android.libary.reference行(忽略顶部的警告)。 - 将MainActivity的类型从ActionBarActivity更改为Activity。 - 删除v7和v4.Fragment的引用。 - 从MainActivity中删除整个“if(savedInstanceState)”语句。 - 从MainActivity中删除PlaceholderFragment类。 - 用fragment_main.mxl或您自己的布局替换activty_main.xml文件的内容。 - 如果您没有使用自己的布局,请从activity_main.xml中删除tools:context属性/值。 - 编辑每个values *下的3个styles.xml文件,并将style AppBaseTheme的父级更改为“android:Theme.Light”(或您选择的主题)。 - 编辑menu/main.mxl并删除app:showAsAction属性/值。 - 整理import并清理您的项目。
需要明确的是:这不是真正应该为真实应用程序做的事情,而更像是如果您只是创建演示或概念验证时可能想要达到的目的。
编辑:
今后,您可以添加一个不包含appcompat_v7的Activity模板。您可以从CommonsWare 这里获取其中一个。这里有一个不错的介绍here

以上步骤将永久从该项目中删除,但不会影响以后创建的任何项目。要想使其不出现在新创建的项目中,您需要在新项目向导中取消选中"创建活动"框。 - scottt
@scottt 为什么你不推荐将这个用于真正的应用程序?当我第一次开始我的项目时,我发现支持库被引用了。我并不需要支持任何4.0以上的东西,并且我粗心地混合了 Activities 和 ActionBarActivities。我想清理这个混乱,原本打算按照你的大纲进行操作,但是注意到了你的“只是为了明确”的评论,所以我有些犹豫。 - nPn
1
@nPn - 避免使用库违反了谷歌的指南,即要求您的应用程序使用片段和操作栏。我的“只是为了明确”评论是为了避免那些对不按照“谷歌方式”做事感到冒犯的人给我投反对票。对于大多数人来说,长期遵循谷歌的指南可能会更容易。但是,如果有一个好的理由,应用程序不应该使用这些功能,那么如果您不使用它们,也不会发生什么可怕的事情。为了规避风险,在进行更改之前,请保存应用程序的版本,以防您发现有令人信服的理由需要切换回去。 - scottt
如果我们不关心 Android 版本低于 4.0,移除 appcompat 应该没问题,对吧? - inder
@Inder - 是的,我相信是这样的。在创建新项目向导中将最低所需SDK字段设置为14或更高版本会省略v7内容。出于某种原因,它仍然包括一个android-support-v4.jar库。据我所知,从libs文件夹中简单删除该库不会引起任何问题。 - scottt

0

提供信息,这是因为您将ADT升级到最新版本(我想是22)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接