当前位置:首页 » 安卓系统 » android兼容50

android兼容50

发布时间: 2022-06-22 15:34:08

1. android各版本之间软件兼容吗

有区别···· 有些软件兼容 有些不兼容 要看具体的软件哈

2. 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位下去。

(2)android兼容50扩展阅读:

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车道,也就是说,这条公路的运力提升了一倍,这可是质的飞跃。

3. 关于android系统的兼容性问题(高手进!)

说说我的个人感觉,我在用MS三个月了,每天都泡google
market下载新应用。至今为止我遇到的不兼容ms的应用加起来不超过10个,基本上都是跟主题相关的应用。我认为完全没必要担心兼容性问题。

4. 现在Android上的应用一般支持的最低版本是多少

目前安卓的应用基本上都只兼容4.0以上的系统版本,因为4.0以下的设备都已经基本淘汰了,所以应用再考虑系统兼容性的时候,就舍掉了4.0以下的安卓版本兼容了

5. 怎么做android各机型兼容性测试不会要买N多真机吧

你答对了,就是要准备很多样机。不同品牌的手机是会有区别的,和api version无关。我们开发的软件,光测试机就有50多台。目前碰到过的硬件问题主要有:1,一些奇怪的分辨率,android无法识别为large-size。不过api version 7以后没问题了,要是对应ver4的要注意。2,硬件参数不同。拿相机来说,有的没有闪光灯,有的快门声不能跟着手机模式设定。还有几款手机保存图片会偏转90度,这个信息是保存在DB的。3,手机信息不同。这个没什么好解释的,应该一台机器一个编号,通常用来做用户识别。但就是有款手机,全部编号都是一个数字。。。4,未知。。。android的多机种对应真的很蛋疼,尤其是要用手机硬件的时候。

6. 我的项目在android api17写的,能运行安卓5.0以上的手机吗安卓所谓的兼容是怎么回事呢

可以运行的,前提是你的androidmanifest.xml文件中(用ecplise开发)或者Gradle文件中(用studio开发)没做版本限制。兼容问题一般情况下是使用了某个功能(可能是某个类的某个方法),而这个功能是在某个版本的SDK中才增加的,那么如果在这个版本一下的手机上运行,就会出问题,所以开发中都会先定好在什么版本的SDK环境下运行,不要使用高于当前SDK的方法。
当然还有其他千奇百怪的兼容问题,某些品牌的手机都是自己封装的系统,使用系统控件的时候,在这些系统中就有可能出问题。比如以前遇到过:使用 系统自带的截图类,在其他手机中都好用,只有在华为手机(哪个型号忘了)中使用时,截图完毕后,取不到返回的数据,最后没办法使用了自定义的截图类。类似的问题还有很多,没法说全的。
纯手打~

7. 如何进行android兼容性测试cts

二、运行CTS的方法,步骤如下:
(1)进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。
(2)进入tools目录,输入./startcts来启动CTS。
(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。
三、CTS测试的方法:
(1)在cts_host>下敲入help,会显示cts下的许多命令。ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。
(3)输入命令start –plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。
(4)对单独一个包进行测试的方法:start –plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/.apk 然后在设置里面

8. 如何降低android系统版本要求,提高兼容性

方法/步骤

要改变android中项目的兼容版本,如图所示。现在是4.3,我要改成2.2.

接下来在项目的名称上右击一下就,出现如图所示的选项,作出如图所示的选择就可以了。如图所示。

这个时候再作出如图所示的选择。如图所示。这个时候你就可以改变android的版本了。如图所示。

现在在这里我改选为2.2的版本。如图所示。

5
最后,你会发现,成功的选择了2.2的版本了,如图年示。在项目中已经改过来了。

9. android程序如何设计成向下兼容或者兼容多个android版本系统

android程序不可能实现向下兼容,设计既是如此;高版本中底层的变化,新接口什么的低版本是支持不了的;要想兼容多个android版本系统,你只能在低版本的系统上开发。

10. Android 手机版本兼容问题,低于做的apk版本不能运行,如何兼容

修改编译sdk版本,注意低版本没有的方法,类等

热点内容
手机热点密码怎么查看 发布:2025-05-15 09:54:47 浏览:107
生意发力云存储 发布:2025-05-15 09:54:45 浏览:616
编写一个shell脚本添加用户 发布:2025-05-15 09:54:43 浏览:505
数据库查看表命令 发布:2025-05-15 09:52:27 浏览:913
p30是不是自带方舟编译器 发布:2025-05-15 09:51:48 浏览:599
追击世界房间密码是多少 发布:2025-05-15 09:51:46 浏览:995
cjavabyte 发布:2025-05-15 09:51:36 浏览:463
visa存储卡 发布:2025-05-15 09:35:07 浏览:619
js调用php的方法 发布:2025-05-15 09:29:13 浏览:496
android添加sdk 发布:2025-05-15 08:59:20 浏览:6