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

在 Android Instant App(安卓即时应用程序)中启用 ProGuard (混淆)

把一个已经存在的应用程序转换成 Android Instant App(安卓即时应用程序)是很有挑战性的,但对于模块及结构化你的项目而言却是一个很好的练习,更新 SDKs(开发工具包)并遵守所有的 Instant...我选择了一个名为 aia-proguard-rules.pro 的文件用于我的 Android Instant App(安卓即时应用程序)专用 ProGuard(混淆)配置。...有了关于 DEX 格式和命令行 APK 分析器(一个分析 APK 中 DEX 文件的工具)的一些知识,我们可以很容易地找到所选模块中哪些被使用了但没有定义的类。...要为非基本模块禁用混淆处理,请将此规则添加到其ProGuard(混淆)配置中: -dontobfuscate 如果你在基本模块和非基本模块之间有共享配置文件,我建议你创建一个单独的配置文件。...构建并测试你的即时应用程序 如果你按照步骤 1 中进行了最初的 ProGuard(混淆)设置,并且正确执行了步骤 2-4,那么到目前为止,你应该拥有一个较小的,经过优化的即时应用,该应用不会因 ProGuard

2.6K30

安卓so库你应该注意的事

在这公司那么久也没有弄过ndk开发,作为一个做刷卡头和蓝牙pos的安卓开发程序员这点还是很蛋疼,然后现在重新做一个新的项目,因为以前的so库是放在armeabi文件夹下面的,所以不管是安卓4.4以下还是...我有几个搞安卓开发的朋友,都明确表示永远不涉足64位安卓程序开发,这又是为什么呢? ARMv8是一套不错的指令集,它既支持未来的64位程序,也向下兼容现有32位程序。...但你不应该从你的应用程序中读取它,因为 Android包管理器安装APK时,会自动选择APK包中为对应系统ABI预编译好的.so文件,如果在对应的lib/ABI目录中存在.so文件的 话。...你应该为每个ABI目录提供对应的.so文件。 当一个应用安装在设备上,只有该设备支持的CPU架构对应的.so文件会被安装。...在x86设备上,libs/x86目录中如果存在.so文件的 话,会被安装,如果不存在,则会选择armeabi-v7a中的.so文件,如果也不存在,则选择armeabi目录中的.so文件(因为x86设备也支

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

    教程 | 如何用TensorFlow在安卓设备上实现深度学习推断

    这篇文章简要介绍了如何用 TensorFlow 在安卓上构建一个通用的语音到文本识别应用程序。 ? 图 1. 流程概述。将 WaveNet 安装到安卓的三个步骤。...有几种方法可以实现这些要求,如量化、权重剪枝或将大模型提炼成小模型。 在这个项目中,我使用了 TensorFlow 中的量化工具来进行模型压缩。...第二步:适用于安卓的 TensorFlow 库 要用 TensorFlow 构建安卓应用程序,我推荐从 TensorFlow Android Demo开始。...在我的项目中,我把 TF speech example 作为模板。这个示例中的 gradle 文件帮助我们构建和编译安卓的 TF 库。但是,这个预构建的 TF 库可能不包括模型所有必要的 ops。...我们需要想清楚 WaveNet 中需要的全部 ops,并将它们编译成适合安卓 apk 的.so 文件。

    1.9K50

    重磅实战:如何用TensorFlow在安卓设备上实现深度学习,附Demo和源码

    这篇文章简要介绍了如何用 TensorFlow 在安卓上构建一个通用的语音到文本识别应用程序。 ? 图 1. 流程概述。将 WaveNet 安装到安卓的三个步骤。...有几种方法可以实现这些要求,如量化、权重剪枝或将大模型提炼成小模型。 在这个项目中,我使用了 TensorFlow 中的量化工具来进行模型压缩。...第二步:适用于安卓的 TensorFlow 库 要用 TensorFlow 构建安卓应用程序,我推荐从 TensorFlow Android Demo开始。...在我的项目中,我把 TF speech example 作为模板。这个示例中的 gradle 文件帮助我们构建和编译安卓的 TF 库。但是,这个预构建的 TF 库可能不包括模型所有必要的 ops。...我们需要想清楚 WaveNet 中需要的全部 ops,并将它们编译成适合安卓 apk 的.so 文件。

    2.3K30

    电脑技巧:Win 11可直接安装Android 应用了,赶紧来试一下吧!

    前段时间,Windows 11安卓子系统运行 Android应用程序的第一个预览版现已提供给美国 Beta频道的 Windows 内部人员,但不是内部人员的我们,该怎么操作才能安装Android 应用呢...如果使用官方方法“上车”,那么你需要安装好Windows 11 Beta预览版,同时还需要开启主板BIOS虚拟化选项。注意,WSA 要求至少拥有 8G 内存,低于8G是无法安装的。...安装之后,你需要注册一个美国亚马逊账户。 安装完 WSA 会出现在你的开始列表中。 那么如果你的Windows 11不是Beta预览版,那该怎么安装呢?...第一步:提前准备好几样东西~ 1、AutumnBox(秋之盒),用来进行ADB连接,给安卓子系统安装APK; 2、微软安装包; 3、酷安apk。...3、右键点击Windows图标,选择【Windows终端(管理员)】,在命令行中输入【add-APPxpackage+空格+复制的文件地址】,回车。

    1.6K20

    Android Patch 方案与持续交付

    在安卓系统上,可以通过 hotfix 的思路来达到这一目的:下发补丁文件,更新 App 版本。 站在巨人的肩膀上 在今年 3 月份开始做技术选型的时候把上面的几种方案试了一轮。...nuwa 仅支持更新 Java 代码,不能更新资源和 so 文件,满足不了我们的需求。 没有好用的轮子,我们决定自己造一个,于是有了现在的 patch 方案。...App 只是一个加载器 既然做安卓 patch 方案,最好的结果就是能支持更新 App 所有的代码和资源。...首先想到的是在代码中把加载 so 文件的代码改成System.load(libFilePath),让系统加载自己指定的 libFilePath 文件。...新 apk、dex文件、so 文件就可以在下次启动 App 的时候由加载器加载。 优势和不足 正所谓没有完美的架构,只有适合自己的架构。

    1.3K50

    安卓应用告别APK格式

    从接触安卓系统开始,APK就一直陪伴着我们,可现在,属于APK的时代恐怕真得要过去了…… 01q 因安卓而被熟知的APK格式 APK全称Android application package,意为“Android...02 安卓宣布启用AAB格式 据悉,安卓早在2018年推出了AAB新格式(AAB全称为“Android App Bundles”),安卓声称这种新格式将使应用程序文件更小。...这意味着,如果我使用的是一台 Android One 手机 (小米 A1) 而且我设置的主要语言是英文,则这台手机将获得基础 APK 以及支持英文、arm64 CPU 架构和 xhdpi 屏幕分辨率的配置...当用户下载应用程序安装包时,Google Play 会自动识别用户的语言和 CPU 架构,自动将对应平台 SO 和资源的 APK 下发给用户。...目前鸿蒙 OS 的软件大多还是以安卓应用为主。所以如果谷歌全面使用 .aab ,肯定会对鸿蒙产生不利条件。 当然,这样的想法或许是我们多心了,究竟安卓应用这一次改变剑指何处,恐怕还需要时间来验证。

    1.5K40

    android逆向学习路线

    https://www.zhihu.com/question/25626303 以下是原答案 就我自己从事安卓逆向这几年的经验来说,对没有编程基础的朋友如何学习安卓逆向最好制定以下学习路线: 一....安卓逆向基础(建议1周) 1. 学习安卓逆向第一步必须先把环境搭建好,这是你学习安卓逆向的开始,环境搭建好后表示正式迈入安卓逆向。...在环境安装的工程中会遇到很多细节上的问题,针对这些坑可以去看看使用教程,或者看看网课老师的教程操作都可以。 2. 第二步就是要了解我们要分析的是什么文件,很多0基础的都不知道安卓逆向分析的什么文件。...我们要分析的是应用程序或者安装包(就是.apk文件),了解apk是怎么生成的以及如何安装到我们的手机里面,apk是怎么运行的,也是我们探讨的内容。 3....最后,如果大家对安卓逆向的学习感兴趣的可以私信我,我们可以共同探讨对安卓逆向这方面的学习。 -----------------更新一下 安卓逆向使用目前比较通用的工具

    2.5K10

    App渗透 - Android应用的错误中获取漏洞

    正如我们所看到的那样,这个应用程序正在记录敏感信息,如果其他应用程序有这个设备日志的读取权限,他们可以访问这些信息。 2. 硬编码问题 ? 使用jadx-gui,我可以查看Java格式的apk源代码。...在允许Diva的存储权限后,我又尝试保存凭证,成功! 现在,在终端中,你可以看到证书被保存在/sdcard/.uinfo.txt中 ? 7. 输入验证问题 ? 该应用程序要求输入一个有效的用户名。...现在检查你的安卓模拟器,你会发现该应用已经弹开了API凭证,不需要PIN。 ? 11. 访问控制问题(3) 该应用程序要求你创建一个PIN码,然后可以用来访问私人笔记。...在这个活动中,我想使用逆向工程工具来代替jadx-gui,因为它只能将APK dex文件反编译成java源代码。分析这些源码需要查看库(.so)文件,而jadx-gui不支持。 ? ? ?...apktool d diva-beta.apk 接下来,查看libdivajni.so文件的内容,并注意到任何可疑的文本,并在用户输入栏中输入它,看看是否能正常工作。

    1.2K30

    如何用python写一个安卓APP?(上)

    这个问题的 可能有效解决方案 然后 你就可以付诸实践 至于结果 我就不知道了 2 想必大家都知道 正常安卓APP的开发 主流靠的是Java、Kotlin 而其他语言的开发可能就需要 开发框架 python...更多kivy相关知识 请到这里 https://kivy.org/doc/stable/ 4 但我们要的是安卓APP 现在仅仅是在电脑上的GUI 怎么办呢 莫急 kivy自然为你解决 还提供了...5 ok 是时候进行激动人心的APK打包啦 我的第一款安卓APP近在眼前 噢耶~ 首先 你需要打开终端(Terminal Emulator) 然后 cd Desktop #回车转到桌面...最终你会在桌面多得这些文件 上面的命令就是 一顿download 一顿check 主要下载的是安卓的SDK、NDK、ANT等 (该过程你可能需要访问外国网站) 然后过了许久 又是一顿骚操作...(buildozer自动化程度就是高) 对于我这种安卓盲 这就是福音呀 满心期待的我等待着桌面bin文件夹中的 APK文件(正常情况下) 然而事实却是 我知道你看不清红色警告 # Aild

    26.6K40

    APK成为历史!鸿蒙系统或被禁止兼容?

    谷歌宣布AAB格式将正式取代APK格式! 据外媒 SlashGear报道,Google Play 应用商店正在不断发展,以满足安卓用户和开发者不断增长的需求和要求。...最具颠覆性的变化之一将在 8 月到来,届时谷歌应用商店将改用 App Bundles 而不是 APK 作为其标准包格式,这一变化不仅会影响到开发者,也会影响到安卓用户,希望能有更好的效果。 ?...Google 公告表示: “为了将这些优势带给更多用户,并专注于让所有开发者受益的现代 Android 发行版, Google Play 将开始要求从 2021 年 8 月开始使用 Android App...这将取代 APK 作为标准发布格式。老应用不受影响。” 谷歌表示.apk已经不能很好地适应安卓系统的增长,而.aab将会使应用程序文件变得比.apk更小15%。...鸿蒙的生态还处于起步阶段,为了让用户能够自由使用自己喜欢的app,同时也为了降低用户的学习成本,鸿蒙自诞生起就兼容安卓的应用程序。

    1.5K20

    android 应用的证书签名跟系统签名

    1.证书签名 并不是所有的apk文件都能成功安装到安卓设备上,android系统要求只有签名后的apk文件才可以安装,因此我们还要对生成的apk文件进行签名才行...,一个arm架构的手机,也没有必要下载x86架构下的so文件,因此Android App Bundle文件可以显著的减少App的下载体积,但缺点是它不能直接安装到android设备上,也不能用于上架除Google...Play之外的其他应用商店 不管选择创建的是Android App Bundle 文件还是APK文件,后面的流程都是一样的 既然你看到这篇博客了那就说明你还没有一个正式的keystore文件,所以还是点击...Create new按钮,如果你已经有一个正式的文件,就选择Choose existing按钮 因为这里ljl.jks文件我已经创建过了,这里新建另一个文件Gerecoc.jks,点击ok 勾选记住密码...该系统证书是编译安卓版本的时候产生的文件,用于证明你的apk准许操作系统层级的指令,如果你想获得该证书则需要找为你提供安卓系统的厂家 如上图中的划线文件就是系统证书 如果要使用系统证书签名,则需要在

    1.9K20

    安卓手机的网络权限,全网最全解答

    在本文中,我们将探讨什么是网络权限,如何检查APP是否有该权限,并回答一些常见问题。 什么是网络权限 安卓手机上的网络权限指的是:应用程序访问互联网并执行网络操作的权限。...如果在权限列表中没有显示 "拥有完全的网络访问权限",就意味着该APP没有网络权限。 可以看看这个视频:真离线 · 密码管理器App 如果你有一定的技术知识背景,那可以尝试检查安卓清单文件。...如果在清单文件中没有 "android.permission.INTERNET",就意味着该APP没有网络权限。 没有网络权限的APP可以联网吗 不能。...安卓使用基于权限的系统来管理对系统资源和API的访问,包括网络访问。APP必须在其清单文件中声明网络权限,以执行网络操作。...安卓应用程序需要"权限"来做任何超出基本的事情,这些权限必须在应用程序的清单文件中声明。 安卓权限类型主要分为两种:"正常的"和 "危险的,运行时的"。

    6.4K40

    android设备上如何运行C语言原生程序

    前言 咱们知道android设备可以直接运行apk应用,或者使用dalvikvm指令运行dex文件中的程序, 但是这两者本质上使用的语言都是java或者smali, 如果需要执行C语言程序,需要借助NDK...编译成so库, 有没有不使用NDK而直接编译c原生程序然后在安卓设备中运行的方式呢?..., 那该怎么办呢?...回到主题 我需要用C语言编写一个能在安卓设备上运行的程序, 首先安卓设备大多采用的是ARM架构cpu, 系统采用的是linux系统, 如果我们想在安卓设备中进行本机编译的话,实现起来比较困难, 那么咱们可以借助交叉编译工具...test.c -o test -static 因为Android 的 Linux 内核没有标准IO库函数,因此我们采用静态编译的方式进行编译 末尾-static必须要有 第三步 将编译后的可执行文件传至安卓设备

    5.4K20

    Android性能优化之APK瘦身详解(瘦身73%)

    公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了。可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段。...该文件列出应用程序的名称,版本,访问权限和引用的库文件。该文件使用Android的二进制XML格式。 通过分析图可以知道,目前app主要是so文件占比比较大,占了31.7M,占了整个应用是38.2%。...参考文章:安卓app打包的时候还需要兼容armeabi么? 好了,我们再打一次包试试。 ? ?...这时候我们找到源代码,将我们需要的那部分代码提取出来,重新编译成新的so文件,再导入到我们项目中。当然,如果之前没有编译过so文件,这部分建议做最后的优化去处理。不然你会遇到很多问题。...总结 好了,说道这里基本上就结束了,apk包从87.1M减小到了23.1M(优化了73%,不要说我标题党)已经差不多了,关于第四部其他部分的优化我是没有进行再操作的。

    1K40

    Android训练课程(Android Training) - 构建你的第一个应用

    这个课程的进度描述不适用于早期的版本。 如果你还没有完成这些任务,开始下载 Android SDK 并且跟随安装步骤。一旦你已经完成了安装,你就准备好开始这个课程了。...注意:你应该已经准备好了并安装完成安卓SDK,如果你使用Eclipse,你应该已经安装好ADT插件(22.6.2或者更高版本)。...默认情况下,这将被设置为你手中的可用SDK版本中的最新版本(它可能是安卓4.1或者更高;如果你还没有任何一个可用版本,你必须使用SDK Manager安装一个)。...如果你没有看到任何内容被列出,你需要使用安卓SDK manager去安装一些。...NEXT: RUNNING YOUR APPLICATION 下一课:启动你的应用程序 启动你的应用 如果你跟随上一课的内容创建了一个安卓项目,它包含了一些像“Hello World”这样的默认文件,

    2.2K00

    移动端持续集成的落地

    你最终的打包之后,你这个东西到底是怎么做的,我主要是讲安卓,以安卓为主,一个安卓的再到你的APK,里面就存了这么多东西,然后你的那些安卓的代码,最终会编译成一个资源的文件,最终安卓这一块还会有组的描述文件...这是安卓上面我截了几个图,如果在安卓如果要开发一个代码,你要产生一个APK,下面就可以通过第二种的方式,也就是说相对于加密的文件,这个的话上面我又做了一个简单的总结,这些谷歌那边的要求。...所以其实他那个签名,最终要有一个密钥的文件做一个后桥,这样的话你APK是安全的。...也就是说你在构建的时候,你还指定你的安卓的代码是不一样的,有的是两点几的版本,有的搞的是最新的版本,就得满足他不同的需求。...这也是一个对这种APP的曲线的监控,刚刚其实咱们讲的DevOps,最后监控也是非常重要的,没有监控的话,也是不完善的,如果出了问题,怎么办。 我截了IOS的图,这个更偏一些业务。

    1.2K10

    为前端工程师写的安卓入门知识

    这个过程中Java环境和一些安卓依赖的sdk环境,都是自动帮忙配置好。但是为了让我们能够在命令行里使用类似adb java等命令。...比如这是创建的一个Hello World项目,代码主要写在Java目录下,res目录用来存放一些资源文件,比如图片和布局的xml文件等,在安卓里面很多样式的实现并没有css那么容易。...,常见的比如,因为安卓机型有不同的架构x86 armeabi mips等,如果所有的底层so库都打包在一起,apk会很大。...这个最初设计的目的当然是更好地服务用户,但是很多App利用这个特性来保活。如果你是一个安卓用户,应该遇到过,打开飞行模式又立刻关掉,一个app突然发了条推送。...那么,如果要做延迟操作怎么办?比如延迟10s更换文案。不能在UI线程等待,如果另起子线程又不能操作UI,咋整。 安卓提供了主线程的消息循环机制,所以有类似H5的setTimeout来做延迟操作。

    1.4K30

    迅为i.MX8M Mini开发板Andaoid9 获取root 权限

    IMX8M Mini开发板 默认的安卓 9 不支持获取 root,烧写默认的安卓 9 镜像启动之后,默认已经打开了 adb 调试功能,不需要我们再进行配置: 首先我们打开我们在“ iTOP-i.MX8MM...首先我们进入 ubuntu 虚拟机,进入我们提供的安卓 9 源码,如下图所示: 然后使用以下命令,进入 su.cpp 文件,对 83、84 行内容进行注释,修改完成之后如下图所示: vim system...中的 return true,然后添加 return false,修改完成 之后如下图所示: 保存退出之后,使用以下命令,进入 selinux.cpp 文件, vim system/core/init...ADB 设备,所以我们需要对该设备进行更新, 首先,右击 USB download gadget 设备,选择更新驱动程序,进入以下界面,然后我们选择第二个选项浏览我的电脑以查找驱动程序: 选择进入之后如下图所示...让我从计算机上可用的应用程序列表中选取: 之后会进入以下界面,我们选择 ROMaster ADB interface,然后点击下一步 最后会弹出以下,安装完成界面, 至此我们的 otg 设备已经成功设置为了

    66920

    安卓逆向从 0 到 1 学习总结

    初识安卓逆向是在 2019 年的暑假,到现在也快一年了,这一年来有刚从 web 渗透转来的迷茫,有成功破解了第一个 app 的喜悦,也有通宵熬夜逆向的心酸,到现在感觉自己成功踏进逆向大门的满足感。...so 层里面去,而这前提是你的会 c 或者 c++。...然后说起进阶技能吧,就是在基础技能之上开始进入逆向精彩的地方--加固和脱壳之间的对抗,个人总结要学习、研究的知识点如下: 1、了解安卓 apk 包的架构,能解析 apk 的各种文件,例如 dex、xml...,安卓逆向这东西你越学的深,遇见问题一般来说都没有现成的解决方案,有的话多半也是商业加密,基本在网上是搜不到的,多谷歌和进行日志分析可能找不到怎么解决,但能找到哪里出现问题,能找到哪里出现问题离解决问题就只有...插件、vpn、更换低版本安卓、hook 底层发包函数等方式抓取流量,方法很多,这里只是想说明流量很重要在需要联网的 app 的逆向过程中。

    2.3K50
    领券