开启辅助访问
 找回密码
 立即注册

关于鸿蒙os2.0安装旧版Android软件出现"专为旧版鸿蒙打造 ...

lucifercy 回答数20 浏览数2013
2021年5月30日
给大家看一台自媒体:
拿今年的系统去质疑我去年的回答,跨时空对线?
按他逻辑, 我也来辟个谣: 恐龙是不存在的, 因为我找遍全球都没找到一只活的恐龙.
前情提要:
编译一台安卓4.4(targetSdkVersion=20)的app同时安装到Android和鸿蒙上,
他们会报一台相似的警告, 而鸿蒙的逻辑明显不通


有人会说这里多一台因此啊, 这应该是语言包的问题, 同样应用在荣耀10(EMUI 10.0.0.156 Android 10)里显示如下:



首先鸿蒙os2.0的安卓部分并没有开源, 我只能从安卓代码里尝试找出逻辑
安卓源代码:

首先搜索"旧版", 找到id: deprecated_target_sdk_message
frameworks/base/core/res/res/values-zh-rCN/strings.xml



然后搜索这个id, 定位到DeprecatedTargetSdkVersionDialog
frameworks/base/services/core/java/com/android/server/wm/DeprecatedTargetSdkVersionDialog.java



搜索这dialog, 定位到showDeprecatedTargetSdkDialogUiThread
frameworks/base/services/core/java/com/android/server/wm/AppWarnings.java



继续往上, 分别到showDeprecatedTargetSdkDialogUiThreadUiHandler.Handler
showDeprecatedTargetDialog, 最终找到
frameworks/base/services/core/java/com/android/server/wm/AppWarnings.java


翻译过来就是 如果app的targetSdkVersion小于MIN_SUPPORTED_TARGET_SDK_INT就会显示此Dialog, 而此Dialog的内容为预先定义好的"此应用专为旧版 Android 打造,因此可能无法正常运行。请尝试检查更新或与开发者联系。", 中间没有对此字符串做任何处理
至于MIN_SUPPORTED_TARGET_SDK_INT是多少可以通过终端查询到为23(终端也报了旧
版鸿蒙的警告)
ps: 这里其实可以拿 adb shell 运行的, 但是我感觉没有终端效果好
frameworks/base/core/java/android/os/Build.java







可知, 当发现app的targetSdkVersion小于23的时候便会显示此警告消息, 对应小于安卓6.0



限于篇幅, 不再验证此targetSdkVersion, 可自行验证

回归正题: 为啥会出现"旧版鸿蒙呢"

  • "专为旧版鸿蒙打造"在逻辑上明显说不通, 应该不是工程师写的(有人会说鸿蒙1.0啊, 那请问鸿蒙1.0公布了吗? 没公布开发者如何"专门打造")
  • "专为旧版鸿蒙打造"和"专为旧版Android打造"极度相似
  • 此字符串作为一台资源文件常量声明在Android系统内, 没有任何逻辑会修改此字符串
  • targetSdkVersion表现与安卓代码一模一样
可以怀疑: 鸿蒙代码部分可能复用了安卓的逻辑与资源文件, 并进行过批量替换, 且没有认真审计.

最后, 欢迎大家 证伪主论点/尝试证伪/提出反论点, 剩下的都算你赢, 我杠不过你.


图来自维基百科"诉诸人身"
使用道具 举报
| 来自北京 用Deepseek满血版问问看
itdws | 未知
现在的口风已经不再是“完全自主研发”之类的了。

变成“iOS都是从unix发展起来的,鸿蒙也可以从安卓”诸如此类的。

费老大的劲找出事实来证伪一件事,可人家根本不跟你谈事实,提前就转移话题啦。
用Deepseek满血版问问看
回复
使用道具 举报
sldxlx | 来自北京
这一点确实很可疑。
从开发者的角度,说一句可能让很多人失望的话,我认为HarmonyOS很长一段时间在移动端对Linux/Android的依赖(保守来说是依赖)是离不开的。
到现在为止,HarmonyOS自己的微内核依旧不见踪影,所谓的"逐步替换Linux"更是遥遥无期。
可最初HarmonyOS所宣传的,"自研内核""可一夜替换Android""比Android快60%"等等,在现在来看,让我不免产生了一种HarmonyOS和2077公用一套剧本的错觉。
回复
使用道具 举报
9207678 | 来自福建
就继续造谣呗,测试视频都出来了[惊喜]BV1DA411g7q7, 被带节奏还不知道的人
回复
使用道具 举报
west0931 | 未知
好问题
回复
使用道具 举报
mmaik | 来自北京
好问题。我在等那些沸腾的人过来
回复
使用道具 举报
fml919 | 来自北京
肯定是安卓抄鸿蒙拉,这么简单的问题,下一位
回复
使用道具 举报
aming0412 | 来自广东
还记得刚开源的时候某项目批量替换结果拿第三方包的协议给换了的事情吗
回复
使用道具 举报
lippllpop | 来自北京
已经沸腾了,你看
回复
使用道具 举报
jaches | 来自北京
直接Android全局替换为鸿蒙
回复
使用道具 举报
123下一页
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影