----发送自 STAGE1 App for Android. 二维码那种绝大部分都不会那么做的,因为那样判断版本太麻烦了。而且如果他是 pc 下载的话也不知道是什么 Android 版本。 Play 市场可以给不同的版本和机型提供不同的apk的,不过之所以那么做的绝大部分原因都是为了给不同机子提供最小的apk大小(删除了该机型不需要的资源的apk)。安卓碎片化好兼容的,一个包可以判断不同版本运行不一样的代码的,还有虚拟键这些也没关系的。因为这些键虽然位置不一样,但是映射的东西都是一样的。就像不同的键盘布局一样。 本帖最后由 shahito 于 2017-7-10 19:36 编辑
另外很多应用不兼容旧版本,还是因为兼容需要一点成本(比起那个版本残存的用户比例来说),再加上写起代码来不爽的问题。 你太看得起play以外的山寨市场。 楼上说的对,其实除了 play 我还不知道有什么 Android 市场做了根据不同机型提供不同 apk 下载的功能。。 炉石会根据gpu下不同包。 宇宙行最近版本不兼容7.0输密码就闪退
—— 来自 samsung SM-G9550, Android 7.0上的 S1Next-鹅版 Haier 发表于 2017-7-12 12:04
同一个包里有不同种的代码以供不同的机型来运行?
有的机器是有多任务键没菜单键,有的是有菜单键没多任 ...
菜单键是历史遗留。
使用新版sdk按google的设计不需要菜单键也不会出现。
使用旧版sdk的话三个点会自动在虚拟按键中出现。
所以有没有菜单键只和manifest中定义的支持最低sdk版本有关。 Haier 发表于 2017-7-12 12:04
同一个包里有不同种的代码以供不同的机型来运行?
有的机器是有多任务键没菜单键,有的是有菜单键没多任 ...
應用不用考慮那個機子有沒有多任務鍵的,因爲這部分不是應用的邏輯的,就算那個機子沒有多任務鍵也沒有關係。
菜单键的話,因爲這個已經是2.X的時候版本的東西了,這幾年新開發的應用都不用支持這個了。
但是如果你還想知道具體兼容兼容的原理的話,邏輯大概是這樣子的:
如果宿主的Android版本是2.X,設置用戶可以通過點擊菜單欄(實體鍵或者虛擬機也可以)顯示菜單欄。
如果Android的版本大於3.0,將菜單欄設置爲右上角三個點,然用戶點那3個點顯示菜單。如果這個宿主的機子有實體鍵的菜單欄的話,當用戶點它的時候,系統自動會自動展開右上角三個點的菜單。
页:
[1]