最近公司移动端开发人员离职了,我一个后端开发接收了他的mac电脑,Android Studio,以及APP打包的工作,找了好久才找到这篇APP打包的文章,感谢大神!

打包的第一种方式

(1)在Android Studio 中选中app这module,选择菜单栏“”Build——Generate signed APK“”


(2)弹出窗口 
     
(3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过) 
    点击“Create new...”按钮创建密钥库 
     
        Key store path:密钥库文件的地址 
        Password/Confirm:密钥库的密码 
        Key: 
            Alias:密钥名称 
            Password/Confirm:密钥密码 
            Validity(years):密钥有效时间 
            First and Last Name:密钥颁发者姓名 
            Organizational Unit:密钥颁发组织 
            City or Locality:城市 
            Country Code(XX):国家 
(4)选择已存在密钥库及密钥(在(3)中创建密钥库后跳过此步骤) 
    点击“Choose existing...”按钮找到密钥库文件 
    Key store password输入已选择的密钥库文件的密码 
    点击Key alias后的“...”按钮,选择或者创建一个密钥 
         
        选中“Use an existing key”,在后面的选择框中选择密钥 
        选中“Create a new key”,创建新的密钥,详见(3) 
        点击OK按钮 
    Key passowrd输入选择的密钥的密码 
(5)点击“Next”按钮,选择保存路径后,点击“Finish”按钮完成 

     

打包的第二种方式

1. 默认为debug mode,使用的签名文件在: $HOME/.android/debug.keystore


2. Release Mode 签名:

 build.gradle:

    

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. android {  
  2.     signingConfigs {  
  3.         releaseConfig {  
  4.             keyAlias 'stone'  
  5.             keyPassword 'mypwd'  
  6.             storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')  
  7.             storePassword 'mypwd'  
  8.         }  
  9.     }  
  10.         buildTypes {  
  11.            release {  
  12.              ...  
  13.              signingConfig signingConfigs.release  
  14.            }  
  15.         }  
  16.   
  17. }  

signingConfigs 即签名配置。 配置名releaseConfig{ //配置内容 }

在buildTypes中指定release时的signingConfigs对应的配置名 

打包的第三种方式:替换AndroidManifest中的占位符

举个例子,在AndroidManifest文件中,我们将极光推送的key值指定为一个占位符


   
   
  1. <!-- 极光KEY -->
  2. <meta-data
  3. android:name = "JPUSH_APPKEY"
  4. android:value = "$ {JPUSH_APPKEY} " />

在build.gradle文件中,这里介绍3种方法去替换该占位符
1.接收gradlew assemble命令输入的自定义参数的值


   
   
  1. manifestPlaceholders = [
  2. // 默认是正式的极光key
  3. JPUSH_APPKEY: "\"" + JPUSH_APPKEY_PARA + " \ ""
  4. ]

2.使用string文件的值

manifestPlaceholders = [JPUSH_APPKEY:"@string/JPUSH_APPKEY"]
   
   

3.使用gradle.properties文件的值

打包的第四种方式

(1)加载Key Store:

我们先删掉上面的通过第一种方式所签名的apk文件。接下来进行第二种方式来签名,即命令行的方式。

打开Project Stucture图形化界面:

(2)选中app这个module,然后切换到singning标签栏,紧接着点击添加,然后生成release签名信息,紧接着点击”OK”

(3)切换到Build Types标签,将Signing config选择为”release”,即将刚刚生成的release签名信息配置进去

(4)然后执行菜单栏的”build-clean Project”

(5)

生成realease版本的apk:

紧接着在命令行Terminal输入如下命令:(AS已经将命令行Terminal集成到了软件当中)

gradlew assembleRelease



Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐