Android编译
gradle安装
自行baidu官网,然后下载安装即可
配置环境变量
vi /etc/profile
----------------------
export ANDROID_HOME=/usr/local/android_sdk
----------------------
#source /etc/profile
安卓相关的都放在ANDROID_HOME里
下载sdkmanager
官网下载或https://www.androiddevtools.cn/
- 下载完解压
- 解压出来的目录放在ANDROID_HOME里
- vi /etc/profile
- export ANDROID_SDKMANAGER=/usr/local/android_sdk/tools
- 在PATH后面添加:$ANDROID_SDKMANAGER/bin
- 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 //添加这一句
}
}
感谢关注