Eclipse 和Android Studio 本地工程自动编译APK,可以实现远程依赖

一、配置 ANDROID_HOME 环境变量

1、Mac 配置

  在自动编译之前,需要完成ANDROID_HOME 环境变量的配置,运行终端,打开.bash_profile 文件

open .bash_profile

  在文件的底部添加上以下内容,这里的ANDROID_HOME 地址要换成自己本地的Android SDK 地址

export ANDROID_HOME=/Users/smile/Android/SDK
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

  关闭.bash_profile后,执行指令,让设置生效

source .bash_profile

2、Windows配置

右击计算机 —> 属性 —> 高级系统设置 —> 环境变量 —> 新建系统变量ANDROID_HOME —> 变量值为自己本地的Android SDK 地址
这里写图片描述

二、Eclipse 工程结构进行编译

1、编译需要哪些文件

  新建一个Android Studio 工程,把.gradlegradle/gradlewgradlew.batbuild.gradle拷贝到工程根目录,如果需要进行签名文件的打包,还需要把签名文件也放在根目录下

2、修改哪些内容

  打开build.gradle 文件,把内容替换为以下的内容

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

apply plugin: 'com.android.application'

android {

    compileSdkVersion 26
    buildToolsVersion '27.0.3'
    useLibrary 'org.apache.http.legacy'
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
//        // Move the tests to tests/java, tests/res, etc...
        androidTest.setRoot('Eclipse')
//
//        // Move the build types to build-types/<type>
//        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
//        // 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')
    }
    defaultConfig {
        applicationId "com.gizwits.commonapp"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1"
		multiDexEnabled true
    }

    buildTypes {
        release {
            //是否开启混淆
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }
    compileOptions {
        sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_7
        targetCompatibility org.gradle.api.JavaVersion.VERSION_1_7
    }
    //移除lint检查的错误error
    lintOptions {
        abortOnError false
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}
  • 根据自己的项目情况将defaultConfig中的包名,版本号等信息更改

  • dependencies 中增加要依赖的远程库或者本地jar 文件

  • 如果有签名文件,需要更改build.gradle,在android下增加

  	signingConfigs {
          release {
              keyAlias 'xxx'
              keyPassword 'xxx'
              storeFile file("./xxx.keystore")
              storePassword 'xxx'
          }
          debug {
              keyAlias 'xxx'
              keyPassword 'xxx'
              storeFile file("./xxx.keystore")
              storePassword 'xxx'
          }
      }

  其中keyAliaskeyPasswordstoreFile filestorePassword都要替换成签名文件本身的内容,并且在buildTypesrelease 中添加

  signingConfig signingConfigs.release  //添加release签名

3、进行编译

  打开命令行,在工程根部目录下执行以下命令进行编译,编译成功后会出现一个build文件夹,在文件夹下的打开outputs>apk>release,可以找到打包的apk.

./gradlew assembleRelease

  在windows 下可以执行

gradlew assembleRelease

三、Android Studio 工程结构进行编译

1、编译需要哪些文件

  Android Studio 本身工程就可以直接执行编译命令,不需要添加多余的文件

2、修改哪些内容

  • 根据自己的项目情况将build.gradle中的applicationId等更改成自己所需要的包名

  • 如果有签名文件,需要更改在app 文件夹下的build.gradle,在android下增加

  	signingConfigs {
          release {
              keyAlias 'xxx'
              keyPassword 'xxx'
              storeFile file("./xxx.keystore")
              storePassword 'xxx'
          }
          debug {
              keyAlias 'xxx'
              keyPassword 'xxx'
              storeFile file("./xxx.keystore")
              storePassword 'xxx'
          }
      }

  其中keyAliaskeyPasswordstoreFile filestorePassword都要替换成签名文件本身的内容,并且在buildTypesrelease 中添加

 signingConfig signingConfigs.release  //添加release签名

3、进行编译

  打开命令行,在工程根部目录下执行以下命令进行编译,编译成功后会在app 文件夹下出现一个build文件夹,在工程根部目录下依次打开outputs > apk > release,可以找到打包的apk

./gradlew assembleRelease

  在windows 下可以执行

gradlew assembleRelease
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值