目录(?)[-]

  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. ios NSHashTable & NSMapTable

    在ios开发中大家用到更多的集合类可能是像NSSet或者NSDictionary,NSArray这样的.这里要介绍的是更少人使用的两个类,一个是NSMapTable,另一个是NSHashTable. ...

  2. Win7/Win8.1预订升级Win10失败临时解决方案

    很多Win7/Win8.1用户在今天凌晨通过微软官方推送的方式升级Win10,但这一过程中遇到了“安装失败”等问题,导致升级无法进行.鉴于这种情况,很多用户选择进入Windows10预下载安装文件夹打 ...

  3. Swift 一些环境配置

    #if DEBUG 使用 如下图配置即可使用

  4. 记:mysql 连接超时解决办法

    错误描述:Timeout in IO operation 原连接字符串为:Server=182.180.50.118;port=3306;Database=test;Uid=root;Pwd=123; ...

  5. a标签的href="javascript:void(0)"和href="#"的区别

    修正一个说法上的bug吧.对于IE6来说,点击后gif暂停bug仅仅发生在“javascript:伪协议未加分号”的情形下. 我再来提供一个视角吧. 给<a>标签增加href属性,就意味着 ...

  6. Android自定义视图教程

    Android自定义视图教程 Android的UI元素都是基于View(屏幕中单个元素)和ViewGroup(元素的集合),Android有许多自带的组件和布局,比如Button.TextView.R ...

  7. Check Mysql Database Size

    SELECT ROUND( SUM(data_length + index_length) / 1024 / 1024 ) TOTAL_MB, ROUND(SUM(data_length) / 102 ...

  8. .net生成随机验证码图片

    /// <summary> /// 自定义图片验证码函数 /// 该函数将生成一个图片验证码,并将生成的code存放于Session["VerifyCode"]变量内. ...

  9. Invoke()方法的使用

    在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界 ...

  10. hbuider 中点击就显示出一个单选的列表 ,然后后台跨域向里面动态添加数据,注意里面的格式是json object

    jsp页面: <li class="mui-table-view-cell" onclick="showActionSheet()"> <di ...