版权声明:本文为博主原创文章,未经博主允许不得转载。
https://blog.csdn.net/ZhangQiang_0/article/details/79786607
    去年写脱离Eclipse通过ant进行编译打包apk的脚本时,就想过要调研下gradle脱离AS经常编译打包的情况,后来各种原因吧,一直拖到现在刚好公司要自动化打包项目,才有时间好好调研下:
Android手动创建android项目,编译成apk;
1 首先命令行创建android项目:
命令行创建一个Android应用
android create project -n HelloWorld -t android-21 -p HelloWorld -k org.crazyit.helloworld  -a HelloWorld
  • -n 选项指定创建项目的名称,-t 指定项目针对的Android平台,-p 指定该项目的保存路径,-k 指定该项目的包名,-a 指定activity的名称。
gradle脱离AS编译打包生成apk调研一

项目目录结构:
gradle脱离AS编译打包生成apk调研一

2 根目录下:执行配置到环境变量中的gradle命令 gradle init

目录结构:
gradle脱离AS编译打包生成apk调研一

3 然后编辑build.gradle文件内容:因为当前测试demo只有一个模块,因此可以把全局build.gradle和模块下的build.gradle合并在一起:
格式如下:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.14.+'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
    defaultConfig {
        applicationId "com.zq.demo"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    //testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.1'
}

4 然后在SRC文件夹下创建main main\java文件夹,把res资源文件和Androidmanifest.xml文件放置main文件夹下,把src路径下的com整个文件夹放置在main\java路径下:
(经测试发现,只有这样按照AS创建出来的android项目结构放置,才能正常打包,不然在执行gradle任务时,会报错,应该是生成task时,gradle配置好了读取固定格式的路径)
gradle脱离AS编译打包生成apk调研一

gradle脱离AS编译打包生成apk调研一

5 然后执行gradle build命令:
gradle脱离AS编译打包生成apk调研一
gradle脱离AS编译打包生成apk调研一

6 然后查看build目录中
gradle脱离AS编译打包生成apk调研一
debug版本的apk就可以直接安装运行。







相关文章:

  • 2021-09-25
  • 2021-09-11
  • 2021-09-24
  • 2021-10-07
  • 2021-07-19
  • 2021-04-29
  • 2022-01-27
  • 2022-01-14
猜你喜欢
  • 2022-01-19
  • 2021-11-18
  • 2022-12-23
  • 2021-08-30
  • 2021-06-07
  • 2021-04-14
  • 2022-01-21
相关资源
相似解决方案