A. 求讲解一下安卓运行一个APP的详细过程
android运行app的过程:
1、用户打开一个app。
2、系统分配程序预设要求的最低内存,并创建activity进程。
3、进程创建完毕后,app程序被转移至虚拟机中。
4、app程序到达虚拟机后运行第一条启动指令,一般为显示启动logo。
5、启动后依据用户的操作来完成程序。
6、用户关闭app。
7、系统将程序移除虚拟机,并结束activity进程。
8、释放占用的内存。
B. 怎样在64位系统中运行32位的Android studio呢
Android Studio分32位和64位,两种版本使用同一安装包。
官网提供的安装包不管是在32位系统还是64位系统都可以安装。
安装完成之后,在安装目录bin下,分别有studio.exe和studio64.exe。
studio.exe在32位系统上运行。
studio64.exe在64位系统上运行。
如果你的电脑是64为windows,安装了32位的java jre,那直接点开studio.exe就OK!
C. android源码用64位系统编译了 怎么运行在32位的手机上
没有32位的手机。有Android系统的手机和苹果系统的手机,把源码打包成APK 在手机上就可以运行了。
D. 安卓12虚拟机软件没反应
用安卓AndroidVirtualDevice(AVD)虚拟机调试AndroidAPP程序,如果不运行,建议按一以下步骤重试
1.重新建立虚拟机打开Eclipse软件后,在主界面点击AndroidVirtualDeviceManager,出现虚拟机管理界面,点击New按钮弹出虚拟机参数配置界面,选择适宜的虚拟机参数比如屏幕大小、分辨率、内存RAM、SD卡大小等,填入后点击OK创建完毕后关闭虚拟机管理页面。2.运行andr护钉篙固蕻改戈爽恭鲸oid应用点击工程runasandroidapplication后,系统就会启动虚拟机,在刚开始时虚拟机界面如下,一段时间后,会运行Android程序。
3.更新SDK多数情况下虚拟机不能启动,报错,或无法运行程序都是因为SDK版本太老导致,建议先升级SDK,并下载不同版本的模拟器提示:虚拟机建立时会进行一系列内部操作,需要花较长时间,建议,在建立一个虚拟机后不要关闭虚拟机界面,直接切换不用的工程,就可以运行不同的APP
E. 安卓12不支持32位app怎么办
寻找这款APP的12位版本,找不到的话,可以重新买一个手机。
拓展:
说是5.0以下的安卓系统,5.0以上就没问题,指的是刚买的时候的安卓系统版本,买回来后自行的多次版本升级那个不算。
安卓系统版本越高就说明手机出来的时间就越短,越新,也就是说只要是近两年出的安卓智能机基本都可以玩,2017年7月出的,搭载高通骁龙625处理器应该问题不大。
F. 虚拟安卓系统里如何切换到32位
开始->控制面板->显示->设置,下面有个颜色质量可以调32或者16位。
G. Android手机64位和32位的软件存在兼容问题吗
Android手机64位和32位的软件存在兼容。
关于Android 64位系统兼容32位应用的实现的简单分析:
Android 的zygote进程的实现不同于之前的版本,除了有zygote进程之外还有zygote64进程。
在init.zygote32_64.rc中有明确指出:
service zygote /system/bin/app_process32 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote
...
service zygote_secondary /system/bin/app_process64 -Xzygote /system/bin --zygote --socket-name=zygote_secondary
...
其中app_process32 和app_process64 就是zygote进程的可执行程序,启动后会改名成zygote。
顾名思义,zygote32即app_process32是一个运行在32位的进程,它所连接的库也都是32位的。而zygote64就是运行在64位的进程,它所连接的库都是64位的。
在不考虑有32/64兼容库的情况下,一个进程如果要正确运行,就必须从可执行程序入口开始到所有使用的库都保持32/64位的一致性。
因为zygote进程是所有第三方应用程序的父进程,所以可以认为,如果应用程序是32位的,那没他的父进程也肯定是32位,换句话说,如果需要启动某个32位的应用,那么肯定是通过32位的zygote进程fork出来的。
这个一点可以在ActivityManagerService上得到验证。
ActivityManagerService中startProcessLocked方法实现启动应用,主要通过Process中的startViaZygote方法
这个方法最终是向相应的zygote进程发出fork的请求 zygoteSendArgsAndGetResult(openZygoteSocketIfNeeded(abi), argsForZygote);
其中openZygoteSocketIfNeeded(abi)会根据abi的类型,选择不同的zygote的socket监听的端口
在之前的init文件中可以看到zygote32位监听的端口就是–socket-name=zygote另外一个就是–socket-name=zygote_secondary
因此可以证实,之前的猜测,即32应用进由32位zygote进程fork出来,64位应用进程由64zygote进程fork出来。那么之前说的abi参数就是决定应用是32还是64位的关键所在,跟踪这个参数,发现这个参数在ApplicationInfo的primaryCpuAbi中决定
这个值由PackageManagerService在做scanPackageLI的时候决定,具体这个值的得出有一个公式化的过程,主要就是判断这个apk有没有使用native的库
如果使用了,那就看使用了的是32位的还是64位的,另外还要看系统支持的是32位还是64位的。
在64位设备上,如果app的 lib 目录下 存在armeabi,则以32位兼容方式运行。
如果存在arm64-v8a 则已64位运行。如果没有任何 so,则 primaryCpuAbi 为空,按照系统的默认配置决定,也就是64位运行。
根据这些因素就可以决定这个apk是应该是32位的还是64位的。以上就是Android L 64位系统兼容32位应用的基本实现过程。另外记录一点,在源码环境下如果要PREBUILT第三方的so
如果是32位的需要专门标注 LOCAL_MULTILIB := 32以此告诉编译系统so位32位,防止编译到64位下去。
(7)安卓12怎么运行32位app扩展阅读:
64位和32位芯片的区别
其实手机处理器和PC处理器对于位数的概念是相同的,这里我就用PC的处理器来说明了。对CPU有些了解的人大概都知道Pentium 3和Pentium 4,了解更深的,还会知道是i386处理器在20几年前把处理器从16位带入32位时代。
处理器经过了近30多年的考验后,到现在已经跃升到64位,这可不同1GHz到3GHz的频率提升。如果说频率的提升是把一条4车道高速公路的时速限制从120公里提升到了360公里的话
那么从32位到64位的提升就是将这条提升了3倍时速限制的高速公路从4车道拓宽到了8车道,也就是说,这条公路的运力提升了一倍,这可是质的飞跃。
H. 安卓12怎么运行32位的软件
要看具体的软件能不能兼容,有些软件就是不能使用