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

Android初级】如何让APP无法指定的系统版本运行

随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统版本所支持。...今天我将要模拟实现一个“由于APP自身版本过低、导致无法在当前的系统版本运行”的功能效果。...实现思路如下: 要获得APP的目标运行版本,也要知道系统的编译版本 通过版本比较,进入该APP时,给用户做出“不支持运行”的提示 用户确认提示后,直接退出该APP 关键点是 targetSdkVersion....setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @...我们注意到程序中使用的是 getApplicationInfo().targetSdkVersion,说明这个变量是 ApplicationInfo.java 的成员变量,这个值是安装APK的过程中、

2.7K20

Android源码分析--应用程序启动

应用程序启动,又可称为根Activity的启动。但是应用程序启动之前,我们有必要对应用程序进程(AppProcess)启动有所了解,那是因为启动一个应用程序首先要保证该应用程序的进程已经被启动。...AMS启动应用程序时,会先检查应用程序进程是否存在,如果不存在就需要请求Zygote进程创建并启动应用程序进程。这里我不会贴上大段大段的代码,只是一些总结,并提供了相关源码的链接。...应用程序进程(AppProcess)启动 启动大纲 AMS发送启动应用程序进程请求. Zygote接收请求并创建应用程序进程....5.ActivityStackSupervisor的 startSpecificActivityLocked方法中先是获取了即将启动的Activity所在的应用程序进程(就是在这个地方判断应用所在进程是否存在且已启动...6.ActivityStackSupervisor的 realStartActivityLocked方法中,对启动应用程序进程进行一系列的判断和处理,最终会调用IBinder类型的ApplicationThread

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

Android 9 Pie新版本入门

不过,让我们来讨论一下升级到Android 9 Pie后将获得的特性。更新新版本最明显的标志是新的系统导航条,它取代了过去几次迭代中为Android用户提供良好服务的标准三图标导航条。...你现在也可以home键滑动,查看你最近使用的应用程序的全屏预览,以及一些谷歌认为你想要使用的应用程序的名称。再刷一遍,你就会看到你安装的所有应用的列表。...这并不是说Android的建议一定是错的,也不是我想要使用的那些应用,主要是因为它建议的那些应用已经我的主屏幕上了。我不认为我使用最后两个betas的时候就已经启动了一个应用程序。...但这已经足够让人抱怨了,因为实际是所有的小事情让Android 9派变得更好。有一些东西像自适应电池管理,通过学习你使用最多的应用程序,使你的电池寿命更长。...我很期待这款应用程序,因为它允许开发者Android Pie的搜索栏中高亮显示他们的部分应用程序(或许可以开始播放一首歌或者叫一辆车)。

1K30

Android应用程序进程启动过程(后篇)

前言 在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:应用程序进程创建过程中会启动Binder线程池以及应用程序进程启动后会创建消息循环。...Android系统启动流程(二)解析Zygote进程这篇文章我们得知AppRuntime继承AndroidRuntime,AppRuntime创建时就会调用AndroidRuntime的构造函数,gCurRuntime...每次调用这个函数时都会先去检查这个标记,从而确保Binder线程池只会被启动一次。...根据一篇文章我们得知,mMethod指的就是ActivityThread的main函数,mArgs 指的是应用程序进程的启动参数。...可以看出,系统应用程序进程启动完成后,就会创建一个消息循环,用来方便的使用Android的消息处理机制。

69470

Anbox: Linux 运行 Android 应用程序的简单方式

Anbox 是 “Android in a box” 的缩写。Anbox 是一个基于容器的方法,可以普通的 GNU/Linux 系统启动完整的 Android 系统。 它是现代化的新模拟器之一。...Anbox 可以让你在 Linux 系统运行 Android,而没有虚拟化的迟钝,因为核心的 Android 操作系统已经使用 Linux 命名空间(LXE)放置到容器中了。...Android 容器不能直接访问到任何硬件,所有硬件的访问都是通过主机上的守护进程进行的。 每个应用程序将在一个单独窗口打开,就像其它本地系统应用程序一样,并且它可以显示启动器中。...如果你正在运行这些版本,那么你可以轻松地官方发行版的软件包管理器的帮助下安装。否则可以用 snap 软件包安装。 为使 Anbox 工作,确保需要的内核模块已经安装在你的系统中。...因此,我们需要手动下载每个应用程序(APK),并使用 Android 调试桥(ADB)安装它。 ADB 工具大多数的发行版的软件仓库是轻易可获得的,我们可以容易地安装它。

4.5K20

adb shell 启动,停止 android 应用程序一、adb启动 应用程序二、adb停止 应用程序

一、adb启动 应用程序 (1)查看app包名: 进入android操作系统 adb shell root@android:/ # 后边,输入 cd data/data 然后输入ls 这样就能看见android...系统安装的安装包 包名: 例如: cn.com.conversant.swiftsync.android com.android.backupconfirm com.android.browser...com.android.calculator2 com.android.calendar com.android.camera ... (2)adb启动 应用程序 adb shell am start...shell am start -n 包名/Activity类的类名 包名和Activity类的类名一定要输入正确,可以用re-sign工具(最后的弹出信息框会显示出包名和Activity类名)。...二、adb停止 应用程序 adb shell am force-stop cn.com.conversant.swiftsync.android 备注: cn.com.conversant.swiftsync.android

5.2K20

AspectJandroid的开发

Android运用AOP的思想开发,可以快速的帮助我们简化横向开发中的重复性工作,简单的说就是把涉及到众多模块的某一类问题进行统一管理比如:性能检测、日志打印手机等。...AspectJ实际是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex、javassist等,但目前最好、最方便的,依然是AspectJ。...//全局变量中配置编译项以及,对应的log输出 variants.all { variant -> if (!.../Android-AOPExample 熟悉了一遍 补充:Android-AOPExample的例子下载下来,gradle版本再2.3.0及其以上的版本编译会出现问题 报错误:No such property...:将plugin.project.android.bootClasspath.join(File.pathSeparator) 替换为 android.bootClasspath.join(File.pathSeparator

1.3K20

Android系统运行frp

一时兴起,想在Android跑一下frpc,本来以为需要在PC上交叉编译后放到机器才行,后来发现好像更简单,Android YYDS!...下面跟着老高一起编译frp吧 安装termux 自己想办法 执行命令 pkg install golang git 下载源码 go get github.com/fatedier/frp 编译 # 注意版本号可能不一样.../frp\@v0.37.1/cmd/frpc # 此时frpc已经被安装到$GOPATH/bin下了 go install main.go 执行 cd ~/go/bin # 准备好你的frpc.ini~.../frpc ps:在给文章起名字的时候,第一时间是想着叫Android系统运行frp,slug顺手敲了run_frp_on_android,突然仔细一想,好像之前真没有思考过一个问题,当描述一个app...运行在某个系统的情况的时候,是说Android运行微信,还是说Android中运行微信?

3.5K10

OpenCV Android 的应用

OpenCV 介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统。...移动端上使用 OpenCV 可以完成一系列图像处理的工作。 二. OpenCV Android 的配置 我项目中使用的 OpenCV 版本是 4.x。... Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。...例子两则 3.1 作为二维码识别的兜底方案 Android 原生开发中,二维码识别有老牌的 zxing 等开源库。为何还要使用 OpenCV 呢?...但是它本身体积也较大,移动端使用至少会增加 Android Apk 包 10 M+ 的体积(主要取决于 App 要支持多少个 CPU 架构)。

2.1K10

速读原著-Android应用开发入门教程(使用am工具启动Android应用程序)

5.3 使用am工具启动Android应用程序 除了 GUI 界面中启动应用程序之外, Android 的命令行终端(可以使用 adb shell 进行连接)也可以使用 am 工具启动应用程序。...例如:使用 am 启动应用程序的格式如下所示: # am start -n {包名}/{包名}.活动名 启动 Android 设置工具的命令如下所示: # am start -n com.android.settings...启动 Android 照相机程序的命令如下所示: # am start -n com.android.camera/com.android.camera.Camera 启动 Android 摄像机程序的命令如下所示...对于某些具有附加数据的应用程序,还可以使用-d 选项增加数据 URL,示例如下所示: ? 以上程序分别进行了音乐播放、视频播放、图片浏览等功能。com.android.music....MediaPlaybackActivity、com.android.camera.MovieView 和 com.android.camera.ViewImage 分别是对应的应用程序

75520
领券