首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码

正文 我记得,之前在写安卓方面的文章时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB? 嗯..今天我们就来解决这个问题.....例如,微软官方 HelloWorld例子,其APK最终大小减少了83%: 配置为:无 - Xamarin.Android 4.2.5大小= 17.4 MB 配置为:仅限SDK组件 - Xamarin.Android...ProGuard通常用于减少APK中大型附加库(如Google Play服务)占用空间来获得较小应用程序。 ProGuard删除未使用Java字节码,这就会让生成应用程序更小。...当启用ProGuard检查,Xamarin.Android上运行所产生APK ProGuard工具。ProGuard配置文件在构建时由ProGuard生成和使用。...选中证书后,选择另存为.然后选择APK文件存放路径. 点击保存,让你输入证书密码.,我们填写刚刚输入密码. ? 等待生成完成,就好了.

2.8K80

APP 加固添加签名后无法安装

Android APK 加固重新签名 使用腾讯云加固,下载后再次签名,签名成功之后 apk 在华为鸿蒙、Android8 系统可以正常解析安装,在Android11 解析安装包失败 解析软件包时出现问题...,使用时需要先配置环境变量, zipalign 和 apksigner 在 Android SDK/build-tools/SDK版本/目录 控制面板->系统和安全->系统->高级系统设置->高级->环境变量...文件 生成APK文件 zipalign -p -f -v 4 ....\myapp2.apk 验证对齐 zipalign -c -v 4 要验证APK文件 对齐成功,这时apk安装包直接安装提示无效或不兼容 apksigner 再次签名 apksigner sign...--ks 密钥库文件 --ks-key-alias 密钥库别名 --ks-pass pass:密码 --v2-signing-enabled true -v --out 签名后APK文件 要签名(

2.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

042android初级篇之android混淆代码ProGuard

混淆代码能有效防止被反编译,防止自己劳动成果被别人窃取; 混淆配置文件及开关设置 配置文件位置以及开关设置位置,android studio 和eclipse稍微有些差异,这里以android...public static final int *; } 混淆产生文件 1. mapping.txt 表示混淆前后代码对照表,这个文件非常重要。...如果你代码混淆后会产生bug的话,log提示中是混淆后代码,希望定位到源代码的话就可以根据mapping.txt反推。...2. dump.txt 描述apk内所有class文件内部结构。 3. seeds.txt 列出了没有被混淆类和成员。 4. usage.txt 列出了源代码中被删除在apk中不存在代码。...,则-optimizations optimization_filter才有效 参考链接 ProGuard在线说明手册 位于sdk目录: sdk/tools/proguard Android 混淆代码总结

1K30

【原创】Apktools反编译APK,查看apk信息,常用于安装apk失败原因分析。

目的:鉴于部分apk无法安装我们又无法知道原因时,我们需要用到工具apktools进行Apk反编译 使用原因:为什么要反编译APK呢?...答案:更改apk后缀.apk为.zip时打开zip中文件时你会发现是乱码,所以我们需要使用工具进行反编译 需要环境:Window+jdk8 实战教程 测试apk:小米运动 apktool工具下载地址...,打开文件夹中“AndroidManifest文件” AndroidManifest名词详解: compileSdkVersion:SDK编译版本.编译apk版本,sdk版本和对应手机Android...minSdkVersion:最小SDK版本.运行该APK安卓SDK最低版本要求 targetSdkVersion:向上兼容版本.APK运行最高版本 补充内容 sdk对应android版本:...平台版本 SDK版本 11.0 30 10.0 29 9.0

1.8K10

深入探索 Android 包瘦身(上)

因此分篇分享~ 一、瘦身优化及 Apk 分析方案介绍 1、瘦身优势 我们首先来介绍下,为什么我们需要做 APK 瘦身优化?...shrinkResources true // 4、混淆文件位置,其中 proguard-android.txt 为sdk默认混淆配置, // 它位置位于android-sdk...并且,我们可在配置混淆文件android.util.Log置为无效代码, // 以去除apk中打印日志代码。...最后,在注释 4处,我们可以配置混淆文件位置,其中 proguard-android.txt 为 sdk 默认混淆配置,它位置位于 android-sdk/tools/proguard/proguard-android.txt...此外,我们也可以在配置混淆文件android.util.Log 置为无效代码,以去除 apk 中打印日志代码。而 proguard-rules.pro 是该模块下混淆配置。

1.9K30

一键搞定centos7docker+selenium+appium+jenkins+android_app源码打包成apk环境搭建

一键搞定centos7docker+selenium+appium+android apk包+jenkins搭建 git源码: https://github.com/a376230095/centos7.../r/studio-ui/export-licenses.html Using Android SDK: /usr/local/android-sdk-linux 构建apk如果出现licenses...29问题,解决方法,运行sh_fileinstall_sdk.sh 项目文件结构以及运行顺序 sh_file 存放环境搭建shell脚本 docker.sh 搭建docker环境 python.sh...文件 需要修改里面的devicename 需要安装雪球apk,或者自行修改package和activity 只要能进入雪球,就判断ok 运行:pytest appium_test.py jenkisn...任务直接在slave运行,已经配置好git和构建后apk产出,运行后就会把apk放到jenkins上了 运行了ssh.sh后,会在项目中生成key文件,直接复制粘贴到jenkins配置ssh秘钥上即可

48620

软件测试|一键搞定centos7docker+selenium+appium+jenkins+android_app源码打包成apk环境搭建

一键搞定centos7docker+selenium+appium+android apk包+jenkins搭建git源码:https://github.com/a376230095/centos7_.../r/studio-ui/export-licenses.html Using Android SDK: /usr/local/android-sdk-linux构建apk如果出现licenses...29问题,解决方法,运行sh_fileinstall_sdk.sh项目文件结构以及运行顺序sh_file 存放环境搭建shell脚本docker.sh 搭建docker环境python.sh 搭建...文件需要修改里面的devicename需要安装雪球apk,或者自行修改package和activity只要能进入雪球,就判断ok运行:pytest appium_test.pyjenkisn项目账号:...slave运行,已经配置好git和构建后apk产出,运行后就会把apk放到jenkins上了运行了ssh.sh后,会在项目中生成key文件,直接复制粘贴到jenkins配置ssh秘钥上即可,包含公钥和私钥信息

60220

京东金融Android瘦身探索与实践

接下来简单分析下 Apk 内各组成部分,以及 Apk 作为 ZIP,其标准结构是什么样,为包瘦身目标设定及任务拆解提供数据支撑。...,包括文件名、原始大小、压缩后大小等指标: 图6.APK文件信息大小 对以上日志信息进行逐行解析,根据解混淆后文件名路径、文件类型进行归类统计,即可得出Apk总览信息,包括各类型文件数量、总大小...具体细节,大家可以去查阅一下android gradle plugin在R文件处理过程。...结论:R类id内联后程序可运行,但并非所有的工程都会自动产生内联现象,需要通过技术手段在合适时机将R类id内联到程序中,内联完成后,由于不再依赖R类文件,则可以将R类文件删除,在应用正常运行同时,达到包瘦身目的...} ${7z解压目录} 第三步:获取存储类型文件,通过Android SDKaapt命令获取压缩方式为Stored文件列表:aapt l -v ${未签名包} 第四步:更新存储类型文件,通过7z命令将存储类型文件更新到第二步操作中生成

41110

Android Studio 3.6 发布啦,快来围观

2.在出现对话框中,导航到要检查APK,然后选择它。 3.点击打开。 4.在 APK 分析器中,选择要检查 DEX 文件。...5.在DEX文件查看器中,为要分析APK 加载 ProGuard 映射文件。 6.右键单击要检查类或方法,然后选择Show bytecode。...重新加载本机库APK 在 IDE 外部更新项目中 APK 时不再需要创建新项目。Android Studio检测APK更改,并提供重新导入 APK 选项。...在某些情况下,例如以下情况,过滤器可能产生误报: A Fragment 已创建,但尚未使用。 一个 Fragment 被缓存,但不作为一部分FragmentTransaction。...image 十、可恢复SDK下载 现在,当使用 SDK Manager 下载 SDK 组件和工具时,Android Studio 现在允许恢复被中断(例如由于网络问题)下载,而无需从头开始重新开始下载

8.9K20

详解Android v1、v2、v3签名(小结)

虽然「碰撞」是肯定存在(由于长明文生成短摘要 Hash 必然产生碰撞)。即对于给定一个摘要,不可能找到一条信息使其摘要正好是给定。...转换所有的class文件,生成classes.dex文件 dx工具生成可供Android系统Dalvik虚拟机执行classes.dex文件,该工具位于(E:\Documents\Android\sdk...对签名后APK文件进行对齐处理 如果你发布apk是正式版的话,就必须对APK进行对齐处理,用到工具是zipalign(E:\Documents\Android\sdk\build-tools\25.0.0...\zipalign.exe) 对齐主要过程是将APK包中所有的资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问apk文件速度更快。...apksigner:Android sdk 提供专门用于 Android 应用签名工具。使用 pk8、x509.pem 文件进行签名。其中 pk8 是私钥文件,x509.pem 是含有公钥文件

2.6K10

Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )

修复包 Dex 文件需要插入到主包后面 , 其它分包前面 , 才能生效 ; 如果主包出现问题 , 只能发布新版本 ; 指定主包文件 , 主包之外类打包到其它分包 , 每个分包都有固定大小 , 分包自动根据大小分为若干分包...// 保留 multiDexKeepFile file("dex.keep") } } } 打包效果 : 生成 apk 文件中 , classes.dex...= 21 允许 Android Gradle 插件 // 为每个 Module 模块产生一个 APK 安装包 , 可以在 Android Lollipop 系统上进行测试...配置 plugins { id 'com.android.application' } android { compileSdkVersion 30 buildToolsVersion...Gradle 插件 // 为每个 Module 模块产生一个 APK 安装包 , 可以在 Android Lollipop 系统上进行测试 // 无需进行耗时

84721

ACE Tools使用指南

需要检查项: 检查内容 说明 Windows Linux Mac adb Android设备调试工具 是 是 是 Android SDK Android SDK路径 是 是 是 Android Studio...subCommand 子命令 说明 aab 构建Android App Bundle文件。 aar 构建Android应用 aar 包。 apk 构建Android应用 apk 包。...注:编译Release版本Apk需要签名才能安装,请通过Android Studio完成签名或者编译Debug版本Apk安装。...ace uninstall 将跨平台应用从连接设备上卸载。命令根据options提示开发者选择对应平台设备,如果只有一个设备连接,直接卸载该设备上应用。...命令根据options提示开发者选择对应平台设备,如果只有一个设备连接,直接运行该设备上应用。需要在设备上安装跨平台应用后才能运行。

37810

你该知道Gradle配置知识总结

APK Packager 整合所有的 DEX 文件和编译过资源文件,并且对 APK 进行签名。...配置对应 build.gradle 文件在 moudle 下,需要添加新或者修改 Build Type ,只需要在 android{ … }里面操作。...apk 文件,每一种 buildType 都会和每种 flavor 进行组合拼接,进而产生不同变种版本(Build Variant),上面对应四个不同变种版本分别是:demoDebug、demoRelease...标记选择器(Marker Selectors) :选择器功能可以让一些属性在某些 libary 里面无效,比如就拿上面的例子来说,我想让 uisdk 只处理 ui 上东西,不想让他具有网络访问功能...另外在进行 sdk 开发时,一般为了减小 sdk 体积,一些依赖库会用 provided 方式,同时需要注意是,对于远程依赖,compile 和 provided 效果一样,都不会打包到 jar

84010

短视频UGC常见问题(FAQ)

直播专业版对应短视频基础版sdk,licence版本需要与sdk版本一致,精简版license只适用于短视频精简版SDK。 2. 录制短视频时设置背景音乐无效 1)....:360x640、540x960、720x1280 录制为什么以常量方式而不是用户自定义大小原因有二:一是以上三种是主流录制分辨率;二是因为 Android 手机兼容问题,不支持一些非主流分辨率,以免产生一些花屏...Android短视频录制结束,为什么没有收到onRecordComplete回调?...因为我们为了保证编辑出来视频画面的清晰度, 我们没有把录制出来视频文件进行压缩处理。因压缩文件损失视频画质。...调节生成文件视频码率,建议设置范围为:600~3600,如果设置了码率,SDK生成视频优先使用这个码率,注意码率不要太大或则太小,码率太小视频模糊不清,码率太大,生成视频体积很大。

3.9K43

android 安装包过大,如何给我们应用“减肥”?

1.apk体积过大原因 有些apk现在动辄几十上百兆,那么是什么导致了apk这么大呢?...如果还在用eclipse开发小伙伴只能自己反编译然后排序查看了 如果用android studio小伙伴就很简单了,点击Build ->Analyze Apk......我是分析了以下几点 1)删掉所有重复及无用图片 2)将项目中所有比较大图尽量处理一下 换成小一点图 3)将项目中所有的无效代码及引用删除 4)删掉所有无效依赖和重复功能依赖以及无效so文件...5)如果没有极其特殊业务需要不要在本地放db文件,即使需要可以改为 第一次安装下载数据库文件 4.预防肥胖 其实真正在做开发时候,如果多注意一些,是不会让apk体积越来越肥胖,即使肥胖也是可以控制肥胖速度...5) 引用三方sdk时候,一般都有提供demo,这个demo有些小伙伴就是原模原样拷贝过来了,很多不用图片jar包等都没有自己处理,这个时候最容易产生冗余不必要东西,需要注意。

59020

Android 11 应用兼容性适配,看这篇就够了

适配 1 应用targetSdkVersion 应用targetSdkVersion >= 30,都会强制打开分区存储,同时requestLegacyExternalStorage将会无效。...2 兼容性影响 如果您应用targetSdkVersion为30,安装包文件resources.arsc文件有压缩或者未进行4字节对齐,则您应用将无法在运行Android 11设备上进行安装。...2 兼容性影响 如果您应用并非以 Android 11 为目标平台,那么其中一些变更可能不会立即对您产生影响。...3.13 APK签名方案v2要求 1 背景 如果您应用以Android 11(API级别30)为目标平台,且目前仅使用APK签名方案v1签名,现在需要在v1签名基础上还必须使用APK签名方案v2.../app-signing#sign_release 2 Android旧版本兼容 为支持运行旧版Android设备,除了使用APK签名方案v2或更高版本为您APK签名之外,您还应继续使用APK签名方案

11.9K42
领券