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

Android App瘦身新姿势——Android App Bundle

由于博主长期从事海外App的开发,所以心系谷歌爸爸的动向呀,最近谷歌爸爸推出了一个Android App Bundle的东西,据说可以压缩包体,当然这仅限于上传Google Play的应用,国内市场不支持...概述 Android App Bundle是Google最新推出的Apk动态打包,动态组件化的技术,与Instant App不同,AAB是借助Split Apk完成动态加载,使用AAB动态下发方式,可以大幅度减少应用体积...AAB并不是一个插件化框架,它利用的是Android Framework提供的split apks技术来完成的,而所有安装split apk工作均是通过IPC交由google play完成。...authuser=2 如何使用App Bundle 1.将你的Android Studio升级为3.2及其以上版本 2.添加对Dynamic Delivery的支持 其实就是一些基础apk需要东西...,比如签名,MAIN入口等,详细请阅读: https://developer.android.google.cn/studio/projects/dynamic-delivery 3.构建App Bundle

1.2K10

如何实现Android APP静默安装

第一步:获取ROOT权限 首先获取Android设备的ROOT权限 需要导入2个工具类 https://dn-epoint.qbox.me/%E5%B7%A5%E5%85%B7%E7%B1%BB.zip...Paste_Image.png 获取ROOT权限的代码 ShellUtils.checkRootPermission() 注意:首次运行APP会提示用户进行授权允许,如果点击拒绝,需要重新卸载后安装,...PackageUtils.INSTALL_SUCCEEDED) { Toast.makeText(con, "升级失败", Toast.LENGTH_SHORT).show(); } 第三步:覆盖安装后自启动 自动安装完APK后,怎么自动打开新的APP...这就需要监听覆盖安装事件,通过广播的方式,实现APP的自启动 注意:修改APP包名ID public class ReplaceAddRemoveBroadcastReceiver extends BroadcastReceiver...{ public static final String UPDATE_ACTION = "android.intent.action.PACKAGE_REPLACED"; // APP包名ID

4.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android app 退出功能,Android 完美退出 App (Exit)

    最近两天为了解决Android上面退出程序问题折腾了半死,在google & baidu 上面找了很久、很久出来的完全千篇一律,说的方法有三,但是经过我试验后全部不行。...三个方法分别是: killProcess, 这种方式当你kill后 Activity 会返回到上一个Activity Android Level 8(包含8)前使用一个API来操作,Level8以后又是另外一种...,所以不能通用 使用 FLAG_ACTIVITY_CLEAR_TOP,从 A 到 B 下面介绍自己的方式: 大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B ->...当然在 finish 的同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。 使用全局变量。...记住:super.onTerminate() 必须调用,代码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。

    2.7K10

    Android 天气APP(三十五)修复BUG、升级网络请求框架

    修复BUG、升级网络请求框架 前言 正文 一、显示bug 二、数据访问bug 三、程序崩溃 四、小米8上的崩溃 前言   之前在GoodWeather2.6的时候陆陆续续出现了一些小bug,只不过是一句话就能改好...这个框架其实我单独写过一篇文章来介绍,文章地址如下: Android OkHttp+Retrofit+RxJava搭建网络访问框架(含源码) 想要详细了解里面过程的可以看看,不打算了解的,直接复制代码到使用的地方就可以了...下面就用一个最简单的页面来说明:欢迎页面。 SplashContract,首先是这个页面的订阅器。 这是一个获取App版本号的请求,修改的内容如上图所示。...三、程序崩溃   程序崩溃对于App来说就是大问题了,因此要在开发时做反复的测试,这一点我有所疏忽。...这个问题是我在调试的时候发现的,崩溃的起因源自于App中讯飞语音的使用,这和讯飞没啥关系,完全是我使用的问题。

    38110

    如何统计Android App启动时间

    Stopping: com.example.app Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER...热启动时间指在Application仍然存在的情况下,从用户点击桌面图标,到首页内容全部展示出来的时间。 App启动流程 要优化以及分析启动时间,需要先了解App的启动流程。...如何加log 在Activity中onWindowFocusChanged()方法是最好的Activity对用户可见的标志,因此综合上一节的分析,我们可以考虑在Application的attachBaseContext...3.使用第三方工具 为了测试启动的过程中哪些方法比较耗时,我们可以使用Android Studio中集成的Android Monitor提供的Method Tracering或者Systrace。...具体优化的方法可以看下一篇文章《如何优化Androd App启动速度》。

    2.8K50

    Android 天气APP(三十五)修复BUG、升级网络请求框架

    这个框架其实我单独写过一篇文章来介绍,文章地址如下: Android OkHttp+Retrofit+RxJava搭建网络访问框架(含源码) 想要详细了解里面过程的可以看看,不打算了解的,直接复制代码到使用的地方就可以了...新框架需要在Application中进行一个初始化,这和之前有所不同,在app模块下新建一个NetworkRequiredInfo类,实现INetworkRequiredInfo,代码如下: /**...下面就用一个最简单的页面来说明:欢迎页面。 SplashContract,首先是这个页面的订阅器。 这是一个获取App版本号的请求,修改的内容如上图所示。...三、程序崩溃   程序崩溃对于App来说就是大问题了,因此要在开发时做反复的测试,这一点我有所疏忽。...这个问题是我在调试的时候发现的,崩溃的起因源自于App中讯飞语音的使用,这和讯飞没啥关系,完全是我使用的问题。

    39030

    app: 和 android:的区别

    android:textColor="#000000" android:background="#FFFFFF"/> app: 前缀: 这些属性通常是由第三方库、支持库或者应用本身定义的。...例如,app:backgroundTint、app:srcCompat 等,这些属性是为了扩展 Android 原生属性而引入的。通常在使用支持库或者自定义视图时,会使用 app: 前缀。...app: 属性有时需要特定的支持库或者兼容性库来实现,特别是在使用最新的 Android 特性或者支持旧版本 Android 的时候。...推荐做法: 一般来说,如果你使用的是 Android 框架提供的标准属性,则应使用 android: 前缀。 如果你使用的是第三方库、支持库或者自定义视图提供的属性,则应使用 app: 前缀。...总结来说,android: 和 app: 前缀的不同主要是为了区分属性的来源和作用范围。了解这些前缀的使用规范能够帮助开发者正确地使用和理解 Android 平台上的布局和视图属性。

    11010

    android app 抓包

    BurpSuite抓包 burp安装: 可以参考国光大佬的文章 BurpSuite Pro 2020.11.3 For Windows macOS 下如何优雅的使用 Burp Suite (2020.11.3...安全性和位置信息-加密与凭据-从存储设备安装-选择证书 填写证书名称 提示已安装 就安装成功了 返回选择信任的凭据-用户 有PortSwigger就代表证书安装成功了 android7.0以后安装证书...,在android中没有,需要下载对应的工具。...下载地址:https://www.androidtcpdump.com/android-tcpdump/downloads 然后通过adb放到对应的目录: adb push tcpdump /data/...、抓包 如何全面的抓取手机流量,避免丢失 为你的android App实现自签名的ssl证书(https) Frida 学习笔记 自动定位webview中的SLL_read和SSL_write 安卓应用层抓包通杀脚本发布

    3K31

    Android scheme呼起App

    是默认的,有实际意义的是android.intent.category.BROWSABLE,表示允许通过浏览器启动该activity(呼起App)。...当前页,但iframe绝对没有太严重的副作用) 但无论哪种方式,都无法得知App被呼起了没,可能没安装App,也可能intent没匹配成功,但页面肯定没有办法得知。...所以一般呼起App的页面都会延迟自动跳转下载页,无论有没有成功呼起App,这也是迫不得已 除了页面发出请求,还有一种更强的方式:通过应用发出请求,例如: // 通过webview发出请求 webview.loadUrl...filter,窃取scheme uri 如果知道跳转的自定义scheme格式,可以跳向钓鱼页面(确实是在App里打开的页面,但它是第三方做的假的) …其它风险 一般自定义scheme都是不公开的,但难免会泄漏出去...APP(scheme) Android安全开发之浅谈网页打开APP 附iOS通过自定义的URL Scheme启动你的App

    1.9K20

    Android APP项目重启

    在大学做了一个app,然后发布到百度手机助手和小米应用商店了,现在下载量达到了2万,但是估计拆卸量也挺高的。 由于看到下载量还可以,于是决定重启项目(之前都快把它忘了)。...因为从来就没有想过拿app来盈利。不过作为社会人(都是泪)来说,有一笔额外收入是非常重要的,谁都不会排斥吧~ 之前项目是用eclipse开发的,然后是用git做版本管理。...首先目前能得到的数据就是下载量,以及用户的评论。重评分来看,会出现闪退。...这有可能是so文件没有支持相应的cpu,还有可能是代码过于凌乱,多出内存泄漏,使用重新启动的app有几点需要优化的: 重新理顺代码,添加对arm和x86以及mips类型的cpu的支持 实现动态更新,这样才是可持续发展之道...添加广告sdk,毕竟盈利才是我继续项目的目标和动力 迁移代码到Android Studio,并实现代码混淆以及文件加密 添加日志收集sdk,这样方便从日志发现崩溃的问题 其他的还有待扩展,目前还是先实现这一个小小的目标再说吧

    80720

    Android app代理软件

    VNET——最好用的Android抓包神器 VNET是Android平台下功能最强大的网络抓包工具,支持HTTP&HTTPS,TCP&UDP,IPv6&IPv4,多终端显示,功能十分的强大。...com.vnet.tech 2、安装后点击开始按钮,既可以开始抓包啦 QuickStart视频链接:https://www.zhihu.com/video/1293868605080772608 支持Android7.0...以上 Android7.0 以上无法通过安装用户证书抓取HTTPS,所以需要额外的操作,以下二选一 1、对于非root手机 在VNET设置中安装平行空间特别版本,VNET中设置抓包APP为平行空间,在平行空间中启动需要抓包的三方...APP,以对Chrome抓包为例 五毛GK的视频:https://www.zhihu.com/video/1293868829328494592 2、对于root手机 在VNET设置中安装系统证书,或者手动将证书移动到系统证书目录...更多功能 1、支持IPv6&IPv4,TCP&UDP,HTTP&HTTPS 2、支持PC网页显示结果 3、支持Pcap导出 4、支持抓包结果保存与分享 5、支持全局抓包或者只针对某一个或几个APP

    5.4K30

    Android APP性能优化

    Android APP性能优化是提升用户体验的关键,涉及多个方面,包括内存管理、UI优化、网络请求、电池消耗等。以下是一些常见的优化策略。...避免过度绘制:使用开发者选项中的“显示过度绘制”工具检测问题。移除不必要的背景色和重叠视图。使用ViewStub:延迟加载不常用的视图,减少初始布局加载时间。...使用SplashScreen API(Android 12及以上)优化启动体验。优化Application初始化:避免在Application的onCreate()中执行耗时操作。...9.监控与测试使用性能分析工具:使用Android Studio的Profiler工具监控CPU、内存、网络等性能指标。自动化测试:编写单元测试和UI测试,确保代码质量。...兼容不同Android版本:使用AndroidX库确保兼容性。避免使用已弃用的API。总结Android APP性能优化是一个持续的过程,涉及内存管理、UI优化、网络请求、电池消耗等多个方面。

    3900
    领券