IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 程序打包的热点问题,Android从入门到精通 -> 正文阅读

[移动开发]程序打包的热点问题,Android从入门到精通

kuan {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: “kuan”]

}

xiaomi {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: “xiaomi”]

}

qh360 {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: “qh360”]

}

baidu {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: “baidu”]

}

wandoujia {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: “wandoujia”]

}

}

}

或者批量修改

android {

productFlavors {

kuan {}

xiaomi {}

qh360 {}

baidu {}

wandoujia {}

}

productFlavors.all {

flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]

}

}

(3)执行打包操作

在AndroidStudio菜单栏点击Build菜单–>Generate signed APK–>选择key,并输入密码。最后选择打包渠道完成产生多渠道的APK包。

什么是代码混淆

对发出去的程序进行重新组织和处理,使得处理后的代码与处理前的代码完成相同的功能,这样的代码很难被反编译。简化代码的过程中将变量名、函数、类等名称变为简单的字母代号,一些不影响正常运行的信息也将永久丢失,这样编译后的jar文件体积大约能减少25%,达到精简程序的作用。

如何做到代码混淆

java源代码编译成中间字节码存储于class文件中,我们用java混淆器对java字节码进行混淆。

步骤为:

(1)在Android项目的根目录下创建一个proguard.cfg文件用来配置混淆选项

(2)在Android.mk中每个package类型的LOCAL_MODULE中的LOCAL_PACKAGE_NAME下面添加两行代码:在这里插入代码片

#指定当前的应用打开混淆

LOCAL_PROGUARD_ENABLED:=full

#指定混淆配置文件

LOCAL_PROGUARD_FLAG_FILES:=proguard.cfg

(3)编译时设置环境变量使用 . ./setenv.sh -bv user

(4)如何在项目中使用了第三方的SDK,则在混淆代码时需要按照第三方的SDK的要求来做。

实际工作中也可以使用第三方的混淆工具来混淆例如爱加密或者360加固助手。

简述不同SDK版本的两种代码混淆方式

低版本的SDK下,项目中同时包含proguard.cfg和project.properties文件,只需要在后者文件末尾添加proguard.config=proguard.cfg再将项目Exprot即可

高版本的SDK下同时包含上述两个文件,这时需要在proguard_project.txt文件中添加如下信息配置再将项目Exprot。

例如在project.properties中内容如下:

Project target

target=android-18

如果想保留某个包下的文件不被混淆,可以在proguard-project.txt文件中加入保留对应包名的语句:

Add any project specific keep options here:

-dontwarn com.cnki.android.cnkireader.**

-keep class com.cnki.android.cnkireader.** { *; }

如何加固APK

一般使用360和爱加密加固APK

  1. 360加固APK

(1)在360加固界面上传apk进行加固,加固前要对apk进行签名

(2)选择加固服务,有基础服务和增强服务。

(3)下载应用签名,下载应用后,需要对该apk进行再次签名保证前后的签名一致,否则加固后的应用无法再手机上运行,用多渠道打包的应用需要加固成功后在进行多渠道打包。


  1. 爱加密加固APK

(1)直接上传APK包,不用提供源代码

(2)爱加密提供多个加密方式(云加密,PC加密,本地加密,so文件本地加密,全自动加密服务,安全审核加密)

(2)加固完成后也要签名保证加固前后一致。

APK瘦身

APK越大消耗的流量就会越多,所以要瘦身

APK的辅助分析工具是NimbleDroid,是分析Android APP性能指标的系统。

APK瘦身的方式有:

(1)开启混淆,删除无用的Java文件,开启minifyEnable(开启混淆,删除无用的java文件),可减小APK中APK文件的大小。

android {

buildTypes {

release {

minifyEnabled true

proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’

}

}

}

(2)去除无用资源,同时去除工程中临时展示的图片。开启shrinkResources,同时去除工程中临时展示的图片可减小APK文件的大小,具体代码如下:

android {

buildTypes {

true

proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’

}

}

}

(2)去除无用资源,同时去除工程中临时展示的图片。开启shrinkResources,同时去除工程中临时展示的图片可减小APK文件的大小,具体代码如下:

android {

buildTypes {

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 19:02:44  更:2022-01-30 19:02:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:04:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码