如何编译Support7Demos测试appcompat
简介
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,超级方便
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端