目录(?)[-]

  1. 简介
  2. 在Eclipse中编译
  3. 使用Gradle编译

简介

Google发布的API-18中带上的support-v7包含了appcompat组件,可以在小于API-11的android程序中使用ActionBar,这个官方组件的发布可以替换之前的另一个actionbar组件“actionbarsherlock”。为了测试官方带的这个组件,可以尝试编译SDK中带的sample程序Support7Demos,这个程序同时还有另外两个组件的演示:gridlayout和mediarouter。

在Eclipse中编译

1. 从SDK目录中导入appcompat、gridlayout和mediarouter三个library工程,注意勾选“Copy projects into workspace“,否则在后面引用library时会出错!
2. 导入三个library工程后,mediarouter会无法编译,打开工程属性在anroid里将api-level改成17,添加依赖工程appcompat
 
3. 创建示例工程Support7Demos,New-Other,选择Android-Android Sample Project,选择Android 4.2.2,找到Support7Demos选中,点finish
 
4. 在Support7Demos的工程属性中Android里,添加依赖工程appcompat、gridlayout和mediarouter
 
5. 到Support7Demos的工程所在目录创建一个libs文件夹,放入一下四个jar包:android-support-v4.jar、android-support-v7-appcompat.jar、android-support-v7-gridlayout.jar和android-support-v7-mediarouter.jar,这四个文件分别位于前面导入的三个Library工程的libs目录里
 
6. 回到Eclipse里刷新,即可运行进入demo
 

使用Gradle编译

1. 请先更新SDK,下载build-tools v19,到Support7Demos的工程所在目录创建一个build.gradle文件,内容如下:

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android' dependencies {
compile 'com.android.support:support-v4:19.0.+'
compile 'com.android.support:appcompat-v7:19.0.+'
compile 'com.android.support:gridlayout-v7:19.0.+'
compile 'com.android.support:mediarouter-v7:19.0.+'
} android {
compileSdkVersion 19
buildToolsVersion "19.0.0" defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
} instrumentTest.setRoot('tests')
}
}
2. 进入命令行窗口,执行gradle build
 
注:使用gradle编译时,一开始我使用的是引用Library的方式compile libray ':android-support-v7-appcompat',死活都不成功,最后好不容易编译过了,运行的界面又不正常,最后终于发现用build-tools v19可以直接编译,不需要引用libray,超级方便
 
 

如何编译Support7Demos测试appcompat的更多相关文章

  1. 在Windows用Rebar来构建,编译,测试,发布Erlang项目

    rebar是一个遵循 Erlang/OTP 原则的 Erlang 项目构建工具,使用它可以减少构建标准 Erlang/OTP 项目架构配置的工作量,并且可以很容易的编译.测试.发布 Erlang 应用 ...

  2. dubbox 编译 和 测试

    因为 dubbox 并没有发布到maven中央仓库仓库中,所以需要我们自己到官网下载,自己编译,install 到本地. 1. 首先安装git客户端工具 TortoiseGit, 然后使用它将 dub ...

  3. 用 rebar 来构建、编译、测试、发布 Erlang 应用程序

    转自:http://dhq.me/build-compile-eunit-release-erlang-application-with-rebar rebar 是一个遵循 Erlang/OTP 原则 ...

  4. Maven取消编译自动测试

    Maven取消编译自动测试 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...

  5. Qt 5.8 移植编译、测试

    /****************************************************************************** * Qt 5.8 移植编译.测试 * 说 ...

  6. segnet 编译与测试

    segnet 编译与测试参考:http://sunxg13.github.io/2015/09/10/caffe/http://m.blog.csdn.net/lemianli/article/det ...

  7. 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

    概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...

  8. GEOS库在windows中的编译和测试(vs2012)

    版本:vs2012, geos3.5 一.下载和编译 这类的文章比较,不再具体细说,可以参考 http://blog.csdn.net/wangqinghao/article/details/8201 ...

  9. [原]在Fedora中编译Libevent测试实例

    在我的昨天的博文<[原]我在Windows环境下的首个Libevent测试实例>中介绍了在Windows环境下如何编译一个echo server例子.今天我又试了一下在Linux环境中编译 ...

随机推荐

  1. UVA 11729 - Commando War(贪心 相邻交换法)

    Commando War There is a war and it doesn't look very promising for your country. Now it's time to ac ...

  2. skip跳跃表的实现

    skiplist介绍 跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入.删除.查找的复杂度均为O(logN).跳表的具体定义, 跳表是由William Pugh发明的, ...

  3. Constants in C++

    The first motivation for const seems to have been to eliminate the use of preprocessor #define for v ...

  4. Java LoggingAPI 使用方法

    因为不想导入Log4j的jar,项目只是测试一些东西,因此选用了JDK 自带的Logging,这对于一些小的项目或者自己测试一些东西是比较好的选择. Log4j中是通过log4j.properties ...

  5. ellang 中进程异步通信中的信箱与保序

    erlang 进程通讯中 执行到 receive 语句时 如果信箱没有消息可以匹配时会暂停等待消息. go() -> register(echo, spawn(test_pid,loop,[]) ...

  6. 网站前端优化 -saveForSelf

    九.网站前端优化 – IMG 9.1.可以优化的图片 图片总共可以分为两类,一个是CSS IMAGES,另一个是产品图片. 9.2.CSS IMAGES CSS图片现在采用的方式是图片合并的方式,这样 ...

  7. 转换rgb为16进制颜色值

    function rgb2hex(rgb) { rgb = rgb.match(/^rgb\((\d+),(\d+),(\d+)\)$/); function hex(x) { return (&qu ...

  8. 使用PHP在共享内存中存储数据集

    我们可以使用共享内存作为一种独特的存储选项,提供快速读/写操作和进程互操作性等优势. 对于 Web 应用程序,这意味着: 缓存存储(数据库查询.Web 服务数据.外部数据) 会话存储 应用程序之间的数 ...

  9. 【javascript 引用类型(一)】

    javascript 的引用类型大致分为:Object 类型.Array 类型.Date 类型.RegExp 类型.Function 类型.基本包装类型和单体内置对象.这里我们着重介绍 Object ...

  10. python分割sql文件

    之前用joomla帮一学校做了个网站,然后要部署到他们到服务器上,他们只提供了sftp和phpmyadmin的账号,上传网站文件倒是挺顺利的,但后来用phpmyadmin导入mysql数据就遇到问题了 ...