0
点赞
收藏
分享

微信扫一扫

Android的Gradle技巧 2.3从Eclipse移植应用程序ADT使用Eclipse


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 18
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 10
targetSdkVersion 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/<type>
// For instance, build-types/debug/java, ...
// This moves them out of them default location under src/<type>/...
// 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工具作为转换过程的一部分添加的。


举报

相关推荐

0 条评论