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,..);
;
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,..);
;