博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android的Gradle技巧 2.3从Eclipse移植应用程序ADT使用Eclipse
阅读量:4043 次
发布时间:2019-05-24

本文共 1850 字,大约阅读时间需要 6 分钟。

2.3从Eclipse移植应用程序ADT使用Eclipse
问题
您想要使用Gradle导出现有的Eclipse ADT项目。
Eclipse ADT插件可以为您生成Gradle构建。
讨论
Eclipse的Android开发者工具(ADT)插件是在2013年推出Gradle构建过程之前构建Android项目的主要IDE。
现在ADT项目已经弃用了Android Studio,但是遗留项目当然存在。
ADT插件可以基于现有项目结构和依赖关系为您生成Gradle构建文件。
将项目从ADT移植到Android Studio的首选方法是使用Android Studio中的导入向导。此处显示的导出过程不再推荐。
由于这不再是首选移植机制,因此您可能会在实践中遇到这样的项目。它也是Gradle sourceSet映射的一个很好的例子,它展示了如何将旧项目结构映射到新的基于Gradle的布局。
Eclipse ADT结构将所有源代码放在项目根目录下的src目录中。资源也在根目录下的res文件夹中。 Android清单本身也在根目录中。所有这些位置都在新的项目结构中更改。
ADT插件可以为您生成Gradle构建。例2-16显示了这些转换中的一个。

实例2-16。将旧项目结构映射到新项目结构

android {compileSdkVersion 18buildToolsVersion "17.0.0"defaultConfig {minSdkVersion 10targetSdkVersion 17}sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aild.ext.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res'] assets.srcDirs = ['assets']}}}

你可以看到基于SDK版本,这是在一段时间前完成的,但有趣的部分是在sourceSets块内完成的映射。新的项目结构期望src / main / java为源代码。现有项目在项目的根目录中有一个src文件夹。因此,sourceSets块使用srcDirs属性将src / main / java映射到src。事实上,所有的文件夹已经从旧的项目结构映射到使用这种机制的新的。
在这些类型的映射中,您经常看到的也是测试文件夹和构建类型的变化,如例2-17所示。
实例2-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']}// Move the tests to tests/java, tests/res, etc...instrumentTest.setRoot('tests')// Move the build types to build-types/
// For instance, build-types/debug/java, ...// This moves them out of them default location under src/
/...// which would conflict with src/ being used by the main source set.// Adding new build types or product flavors should be accompanied// by a similar customization.debug.setRoot('build-types/debug')release.setRoot('build-types/release')}
构建文件中的注释实际上是由Eclipse ADT工具作为转换过程的一部分添加的。

转载地址:http://mzrdi.baihongyu.com/

你可能感兴趣的文章
TCP/IP, WebSocket 和 MQTT
查看>>
CentOS、Ubuntu、Debian三个linux比较异同
查看>>
javascript闭包和闭包的几种写法及用途
查看>>
Js作用域与作用域链详解
查看>>
nginx下 499错误
查看>>
网络性能测试工具iperf详细使用图文教程
查看>>
MacOSX上ab并发测试常见报错及解决办法
查看>>
为你的网站开启 gzip 压缩功能(nodejs、nginx)
查看>>
网页性能管理详解
查看>>
try catch 对代码运行的性能影响
查看>>
Koa框架实践与中间件原理剖析
查看>>
node.js 资料收集
查看>>
解除 Linux 系统的最大进程数和最大文件打开数限制
查看>>
怎样才是一个基本水平的java程序员?
查看>>
UGC,PGC,OGC
查看>>
一道关于Promise应用的面试题
查看>>
Couchbase 介绍 - 更好的 Cache 系统
查看>>
Memcached Redis Membase性能测试对比分析
查看>>
couchbase 与 redis的横向对比
查看>>
缓存的进化之路—Couchbase的分布式架构
查看>>