Android编译

gradle安装

自行baidu官网,然后下载安装即可

配置环境变量

vi /etc/profile
----------------------
export ANDROID_HOME=/usr/local/android_sdk
----------------------
#source /etc/profile

安卓相关的都放在ANDROID_HOME里

下载sdkmanager

官网下载或https://www.androiddevtools.cn/

  1. 下载完解压
  2. 解压出来的目录放在ANDROID_HOME里
  3. vi /etc/profile
  4. export ANDROID_SDKMANAGER=/usr/local/android_sdk/tools
  5. 在PATH后面添加:$ANDROID_SDKMANAGER/bin
  6. source /etc/profile

sdkmanager基本用法

sdkmanager "包名" //安装所需依赖
sdkmanager uninstall "包名" //卸载包

开始编译

gradle clean

这个命令会删掉app/build目录

gradle build

编译打包成apk存放在app/build/outputs/apk

如果编译过程中提示缺少包,使用sdkmanager进行安装即可

android签名

keytool -list -keystore debug.keystore //查看签名信息

第一种明文显示签名密码

手动生成签名

keytool -genkey -v -keystore myapp.keystore -alias my_alias -keyalg RSA -keysize 2048 -validity 10000 

需要在app/build.gradl文件里写入相关配置

android {
    // ... other sections ...
    signingConfigs {
        release {
            keyAlias 'my_alias'
            keyPassword 'password'
            storeFile file('/Users/kousen/keystores/myapp.keystore')
            storePassword 'password'
        }
    }
}


 buildTypes {
        release {
            // ... other settings ...
            signingConfig signingConfigs.release //添加这一句
        }
    }

属性 解释
keyAlias keytool中生成证书的时候的随机值
keyPassword 在签名过程中所需要的密钥
storeFile keystore证书在磁盘中的位置
storePassword keystore证书的密码

第二种私密签名密码

在项目根目录新建local.properties文件,写入以下内容

keystore.path=/root/.android/myapp.keystore
keystore.password=password
keystore.alias=my_alias
keystore.alias_password=password

app/build.gradl文件里写入相关配置,在android{}上面添加

def keystoreFilepath = ''
def keystorePSW = ''
def keystoreAlias = ''
def keystoreAliasPSW = ''
// default keystore file, PLZ config file path in local.properties
def keyfile = file('s.keystore.temp')

Properties properties = new Properties()
// local.properties file in the root director
properties.load(project.rootProject.file('local.properties').newDataInputStream())
keystoreFilepath = properties.getProperty("keystore.path")

if (keystoreFilepath) {
    keystorePSW = properties.getProperty("keystore.password")
    keystoreAlias = properties.getProperty("keystore.alias")
    keystoreAliasPSW = properties.getProperty("keystore.alias_password")
    keyfile = file(keystoreFilepath)
}

 buildTypes {
        release {
            // ... other settings ...
            signingConfig signingConfigs.release //添加这一句
        }
    }

原文地址:https://www.cnblogs.com/wspblog/p/12929886.html