Android, KeyStore,版本升级,分渠道发布,混淆

apk的打包




1:版本升级
什么时候这个版本是需要升级的.




首先判断有没有这个应用.使用应用里面的包名.
Version 只是给人看的。
检查签名文件 。签名什么意思呢?对文件进行一次摘要,
C:\Users\XUE\.android\debug.keystore


百度地图。也用到了这个。


如何生成一个KeyStore。


如果没有KeyStore了,你的apk 永远不可以下载升级了。


我们平时的apk 是不可以给任何人的,测试,美工都不可以给这种的。不能给这个版,因为不可以升级,


生成一个签名的apk。


新建KeyStore
Build-》Generate Signed Apk


Key Store path  qiubai.jks


debug-》给测试的
release版本。


一般来说一个公司只有一个KeyStore
如果有一个新的项目就申请一个新的license
有效权限30年。如果是1年,1年之后就无法升级了。


-----------------------------------------------------
混淆
app 里面


    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }


release 版本可以混淆,但是debug的不要混淆
minifyEnabled true 代表混淆。


如果是没有第三方库的话,上面那一步就可以了。


如果有第三方库的话,需要配置混淆的配置文件。


就是proguard-rules.pro。这个文件。


Android 中那些类名是不可以被混淆的。
如果类名,属性名,方法名以字符串的形式存在的是不可以被混淆的
service,activity,自定义的空间,onClick 属性,
上面的这些都是不可以被混淆的。


默认的配置文件proguard-android.txt


C:\Android\sdk\tools\proguard\proguard-android.txt


Fresco的官网:
http://frescolib.org/docs/proguard.html#_




Using ProGuard with Fresco Edit on GitHub
Fresco's large download may seem intimidating, but it need not leave you with a large application. We strongly recommend use of the ProGuard tool.


You can download Fresco's ProGuard file, proguard-fresco.pro, and add it to your project.


Android Studio / Gradle
Place a stanza like this in your build.gradle file.


android {
  buildTypes {
    release {
      minifyEnabled true
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        'proguard-fresco.pro'
    }
  }
}








如果有json 的话,考虑安全的,一定更要混淆,而且要正确的进行混淆。
正确的方式在@SerializedName("format");


fastJson 和Gson的注解。


---------------------------------------------------------
---------------------------------------------------------
不混淆的代码是不可以上线的。
----------------------------------------------------------


分渠道的打包。


豌豆荚,google play,
公司想要知道到底是从哪个渠道商下载的。
之前是自己一个一个的打包,可以用批处理打包,
一般是公司的logo作为默认的logo。
下一个默认的logo。




Project Structure
-》Flavors
新建baidu
wandoujia




新建一个android resource directory 来放图片
Resource type:mipmap
Source set: 选择baidu




Density 
HightDenisity




新建一个xml 文件叫做channel.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="channel_name">默认渠道 </string>
    <integer name="channel_id">1</integer>


</resources>




在baidu ,wandoujia 等目录下面新建values文件夹
然后把channel.xml文件拷贝过去,然后修改
channel_name
channel_id




getString(R.string.channel_name);
getResources().getInteger(R.integer.channel_id)
Toast.makeText(this,..);
;

























你可能感兴趣的:(android,keystore,版本升级,千雅爸爸,分渠道发布)