美文网首页
Android 打包

Android 打包

作者: kinglong1984 | 来源:发表于2018-09-02 23:53 被阅读14次

打包流程

打包配置

包名

作为应用唯一标识的包名,指的是app工程的build.gradle中配置的applicationId值。

发布到应用市场和集成第三方平台sdk时会用到的就是applicationId。

1.package

manifest中package负责代码和资源的路径。仅被代码、资源文件R.java或Manifest清单中声明(如activity的name省略package,缩写为”.xxxActivity“)使用。

2.applicationId

applicationId不存在时,applicationId将默认为packageName。

applicationId存在时,packageName仅有其本身功能,而applicationId将作为唯一标识。

如Provider在声明android:authorities(该值必须唯一)时,使用${applicationId}做前缀可适用同一工程分包、分渠道打包的情况。如果前缀写死为packageName的值,则分渠道打包安装在同一android设备将导致 INSTALL FAILED CONFLICTING PROVIDER 的报错。

签名文件

签名文件:..\xx.jks

获取签名信息:在AS Terminal窗口中执行”keytool -list -v -keystore[签名文件路径]”,如:

keytool -list -v -keystore E:\xx.jks

获取到证书指纹包括三项:MD5、SHA1、SHA256,在发布到应用市场和集成第三方平台sdk时会用到。

MultiDex配置

解决Dex文件对方法索引使用short类型数据存放引起的方法数最大值65535限制问题。

1.修改app工程的buidl.gradle,导入'com.android.support:multidex:1.0.2',defaultConfig下设置multiDexEnabled true

2.使用MultiDexApplication或者让自定义的Application继承MultiDexApplication。

混淆打包配置

buildTypes {

  release {   

    minifyEnabled true    // 混淆   

    zipAlignEnabled true //  Zipalign优化    

    shrinkResources true    // 移除无用的resource文件       

    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }

    // proguard-android.txt是系统默认的混淆文件,在SDK目录\tools\proguard下,包含了基 本的混淆声明。proguard-rules.pro是自定义混淆文件,可在里面配置忽略项,避免混淆。    

 }

}

相关文章

网友评论

      本文标题:Android 打包

      本文链接:https://www.haomeiwen.com/subject/cmvvwftx.html