Android项目从Eclipse增加支持Android Studio

Posted catoop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android项目从Eclipse增加支持Android Studio相关的知识,希望对你有一定的参考价值。

使用Eclipse开发android已经有些年头了,然而Android Studio(后面简称AS)为谷歌自己推的IDE。现在AS已经出了2.0版本,其功能的确要比Eclipse要多。

AS对硬件要求较高,Eclipse使用ADT插件也是简单易用。本文不对这2个IDE的优缺点进行阐述,没有哪个一定能完全替代哪一个这么一说,选择自己喜欢的就好。

不过博主喜欢接触新事务,AS都出这么久了,也该拿出来遛遛了。对于一直使用Eclipse开发的安卓项目如何转换增加支持AS。(是增加支持AS,处理后AS和Eclipse都可以正常使用,而不是把Eclipse废掉)

下面就从一个简单的例子来一步步说明:
1、使用Eclipse创建一个Android项目,保证可以正常运行。项目结构截图如下:
技术分享

2、右键项目 —> Export —> Android —> Generate Gradle build files —> Next —> Next —> Finish
技术分享
技术分享

这样操作后,项目下面就生成了 build.gradle 文件。

至此,我们还需要在项目下新增一个 local.properties 配置文件,指定sdk 目录,local.properties 内容如下:

sdk.dir=D\:\\Android\\android-sdk_r10-windows

或者环境变量中有设置 ANDROID_HOME 也可以。

3、此时我们使用命令来验证一下是否可以使用gradle打包了。
首先要配置GRADLE环境变量。然后在cmd中进入当前项目目录,执行命令“gradle clean”,命令行中会看到自动下载所需插件和相关包。

如果中间出现错误:
FAILURE: Build failed with an exception.

  • Where:
    Build file ‘F:\androidWorkspace\MyAndroid\build.gradle’ line: 10

  • What went wrong:
    A problem occurred evaluating root project ‘MyAndroid’.

    Failed to apply plugin [id ‘android’]
    Gradle version 1.10 is required. Current version is 2.10. If using the gradle wrapper, try editing the distributionU
    rl in F:\androidWorkspace\MyAndroid\gradle\wrapper\gradle-wrapper.properties to gradle-1.10-all.zip

则检查一下build.gradle,修改 classpath ‘com.android.tools.build:gradle:0.12.+’ 为 classpath ‘com.android.tools.build:gradle:2.0.0-alpha3’ 与自己本地gradle版本对应的地址。

我这样处理后便解决了问题,大家根据自己情况修改配置后再试。直到出现 BUILD SUCCESSFUL 为止。

4、打包apk包
在项目目录下执行命令:gradle build 即可对该项目进行打包。
可以指定–debug或 –info 参数输出日志。

执行成功后,生成的apk文件在项目目录下的 build/outputs/apk 目录中。build 目录下存放了一些报告等文件。

对比一下我们一开始的项目结构,发现我们项目中增加了一些文件,其实我们是可以手工拷贝这些文件到一个新项目中的,上个截图:
技术分享

其中gradlew(Linux) 和 gradlew.bat(Windows) 是为我们生成的可以直接执行的gradle命令。
如(Linux下):
./gradlew -v 查看版本号
./gradlew clean 清除项目下的build文件夹
./gradlew build 检查依赖并编译打包

注意使用build 打包会把debug、release环境的包都打出来,如果正式环境只需要打包release,请使用下面的命令:
./gradlew assembleDebug 编译并打Debug包
./gradlew assembleRelease 编译并打Release包
./gradlew installRelease Release模式编译并安装
./gradlew uninstallRelease 卸载Release安装包

至此,我们已经将一个普通安卓项目变成一个支持gradle 命令打包的项目。

上面啰嗦了这么多,只是想让大家知道怎么使用gradle 打包apk,而不是那么直接的就转移到AS中。

5、下面可以将项目导入到AS中了
在AS中选择 File —> Open ,然后选择我们项目的目录(如:F:\androidWorkspace\MyAndroid),再等待一会。

最后来张导入AS后的工程截图:
技术分享

6、配置签名信息,使打包后的apk自动签名
在build.gradle 中的android {……} 中添加签名配置:

android{
    …………
    …………
    …………

    //签名信息
    signingConfigs{
        releaseInfo {
            storeFile file("shanhy(xiaoshan).key")
            storePassword "xiaoshan"
            keyAlias "shanhy"
            keyPassword "xiaoshan"
        }
    }
    buildTypes {
        //Debug模式
        debug {

        }

        //Release模式
        release {
            // 是否启用混淆
            minifyEnabled false
            // 混淆文件配置
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
            // 签名信息配置(如果上面配置了defaultConfig则可以不用指定signingConfig)
            signingConfig signingConfigs.releaseInfo
        }
    }

执行命令 ./gradlew build 或者 ./gradlew assembleRelease 便可在build/outputs/apk 下面看到生成的已经签名的apk

注:本文中使用的 ./gradlew 为在Linux下的命令,如果在Windows下面,请使用 gradlew.bat

























以上是关于Android项目从Eclipse增加支持Android Studio的主要内容,如果未能解决你的问题,请参考以下文章

我们可以将 Android 项目从 Eclipse 导入到 Android Studio,它是不是支持 SVN?

从 dandar3 在 Eclipse 中打开 android 支持 appcompat 时出错

如何把Android Studio项目转换成Eclipse的项目

如何从 Maven 获取适用于 Android 的 JAR

Android Studio 将项目从 Eclipse 导入 Android Studio

Android Emulator 运行简单项目时出错