zoukankan      html  css  js  c++  java
  • 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 //添加这一句
            }
        }
    
    
  • 相关阅读:
    OpenCV4Android——No implementation found for native Lorg/opencv/core/Mat;.n_Mat ()J
    The method onClick(View) of type new View.OnClickListener(){} must override a superclass
    Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境
    45_拍照
    32_文件断点上传器
    31_多线程断点下载器
    Eclipse的Servers视图中无法添加Tomcat
    23_网络通信之网络图片查看器
    C语言 · 时间转换
    C语言 · 4_2找公倍数
  • 原文地址:https://www.cnblogs.com/wspblog/p/12929886.html
Copyright © 2011-2022 走看看