`
sunwinds1900
  • 浏览: 8163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

android事件薄-不能安装APK的一种原因

阅读更多
1,环境 事件
OS:ubuntu 9.04
eclipse:3.4.0
android API:1.5

一个app,在api 1.6的 AVD上跑没事,换到1.5的AVD上就不能安装上去了。

2,Log

console:
[2010-04-22 11:46:01 - AppStore] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
[2010-04-22 11:46:01 - AppStore] Please check logcat output for more details.
[2010-04-22 11:46:01 - AppStore] Launch canceled!

DDMS.logcat:
04-22 03:45:54.835: ERROR/PackageManager(577): Package com.thunderst.android.appstore has no signatures that match those in shared user com.xxx.android.yyy; ignoring!
04-22 03:45:54.835: WARN/PackageManager(577): Package couldn't be installed in /data/app/com.xxx.android.yyy.apk


3,解决
涉及到2个关键词:signatures ,shared user

从INSTALL_FAILED_UPDATE_INCOMPATIBLE 和 signatures 判断可能是重复装载apk的问题,站内 http://xusaomaiss.iteye.com/blog/393296提了解决办法。

当然,不是这个原因。

焦点集中在shared user

后来在manifest.xml中找到
android:sharedUserId="com.xxx.android.yyy"
这么一个配置,就是它在捣乱!

在后来发现这个是android1.5R1的一个bug,已经在之后的版本中被修复了。

------

#2009-006 Android improper package verification when using shared uids

Description:

Android, an open source mobile phone platform, improperly checks developer certificates when installing packages that request the shared user identifier (uid) permission.

Normally, Android applications will be allowed to share a uid if the packages are all signed by the same developer certificate and request permission to do so at install-time. This allows for packages from the same author to share data. Without enforcement of that behavior, it is possible for any application to be installed in such a manner that it gains access to another (existing) application's data.

A patch has been made available by Android.

Affected version:

Android >= 1.5 CRB17 <= 1.5 CRB42

Fixed version:

Android >= 1.5 CRB43

(Android 1.0 and 1.1 are unaffected.)

Credit: Panasonic

CVE: CVE-2009-1754
Timeline:

2009-05-14: Panasonic reported the issue to the Android Security Team
2009-05-18: Android Security Team requested assistance from oCERT
2009-05-19: oCERT requested CVE assignment
2009-05-22: CVE assigned
2009-05-22: advisory release

References:
Patch

Permalink:
http://www.ocert.org/advisories/ocert-2009-006.html

分享到:
评论

相关推荐

    VLC for Android 3.1.5 armeabi-v7a版apk、aar及so

    .aar文件是Android Archive Format的缩写,它是Android Studio用于分发和构建库项目的一种格式。VLC的.aar文件可能包含库代码、资源、依赖项等,允许开发者在自己的应用中集成VLC的功能,比如开发一个需要高级媒体...

    微信签名工具Android 安装包(Gen-Signature-android.apk)

    这是一种Java密钥存储库文件格式,用于存储私钥、公钥和证书。在Android开发中,开发者通常使用`.jks`或`.keystore`文件来存储签名应用所需的密钥对。这个文件包含了用于签名应用的私钥,以及对应的公钥证书。私钥...

    OpenCV-3.1.0-android-sdk(仅Apk)

    总的来说,OpenCV-3.1.0-android-sdk Apk文件为Android开发者提供了一种快速启动计算机视觉功能的方式,无需进行复杂的交叉编译过程。然而,这种便捷性也限制了自定义和调试的可能性。对于需要深度定制或最新功能的...

    android--update--apk

    4. **安装流程**:在Android系统上,更新APK有两种方式:一种是通过Google Play Store,另一种是手动安装。手动安装通常涉及下载APK文件,然后通过设置中的“未知源”选项进行安装。对于系统升级,可能会涉及在旧...

    OpenCV-2.4.6-android-sdk-r2(只有apk包)

    总的来说,OpenCV-2.4.6-android-sdk-r2的apk包为Android开发者提供了一种简便的方式来集成计算机视觉功能,尽管它缺少了通常SDK会包含的开发工具和示例代码。开发者需要具备一定的Android和OpenCV知识,才能充分...

    VLC for Android 3.1.5 arm64-v8a版apk、aar及so

    在描述中提到的"apk"文件,是Android应用程序的安装包,用户可以通过安装此apk文件在Android设备上使用VLC for Android。而"aar"文件则是Android库的归档格式,通常用于在Android开发中分享和复用代码、资源和依赖。...

    polycom-android-phone-release-3.10.1-71327.zip

    压缩包内的"polycom-android-phone-release-3.10.1-71327.apk"文件是安卓应用的安装程序,用户可以通过这个文件在安卓设备上安装宝利通的视频会议应用。安装后,用户可以注册账号,设置会议参数,然后轻松发起或参与...

    android-python-apk-channel-master

    3. **Python**:Python是一种高级编程语言,因其简洁明了的语法和丰富的库支持,常用于自动化任务和脚本编写。在这个项目中,Python被用来自动化APK的打包过程,提高了效率。 4. **批量生成**:通过Python脚本,...

    Android-DecompileApk-一键反编译APK

    "Android-DecompileApk-一键反编译APK"项目提供了一种便捷的方式,帮助开发者或者安全研究人员快速地对APK文件进行反编译,以查看其源代码和资源。下面我们将详细探讨这个过程及相关知识点。 1. **APK 文件结构**:...

    Android App调用没有安装的apk

    然而,有一种特殊的技术使得Android App能够调用并使用未安装的APK文件,这种技术被称为“插件化开发”。本项目名为"ApkDemo",它是一个Android Studio工程,包含两个模块:一个是主应用程序(主apk工程),另一个是...

    Android 自动安装apk

    而自动安装apk的DEMO则提供了一种在无PC环境下自动部署的解决方案,这对于自动化测试和远程设备管理非常有用。 综上所述,"Android 自动安装apk"的DEMO涵盖了Android无障碍服务的使用、Intent启动安装流程、权限...

    android 安装本地apk

    安装本地APK的方法有两种:一种是通过Android设备的设置菜单手动安装,通常需要开启“未知来源”的安装权限;另一种是通过代码实现自动化安装,这通常涉及到`PackageManager`服务的使用。在代码中,我们可以调用`...

    apk.rar_.apk_android_android apk_apk

    标题中的"apk.rar_.apk_android_android apk_apk"暗示了我们正在讨论的是一个与Android操作系统相关的APK文件,它被压缩在名为"apk.rar"的RAR格式文件中。APK是Android应用程序的主要文件格式,它包含了应用的所有...

    android serial apk

    总之,"android serial apk"及其配套的libserial_port.so库为Android串口通信提供了一种方便的测试手段。通过理解这些基本概念和工具,开发者能够更好地在Android设备上实现和调试串口通信功能,进而构建更复杂的...

    android安装apk详解[收集].pdf

    APK(Android Package Kit)是一种压缩文件格式,它包含了应用程序的所有组成部分,包括代码、资源文件、证书等。用户可以直接将APK文件传输至Android设备上进行安装。与Symbian平台的SIS或SISX文件相似,APK文件也...

    Android v4l2 camera apk

    Android v4l2 camera apk是针对这一平台设计的一款应用程序,它专为Android设备上的摄像头设备提供强大的功能支持,尤其是针对V4L2(Video for Linux Two)框架的集成。此应用旨在帮助开发者和硬件调试人员更有效地...

    Android APK的安装卸载

    Android APK 的卸载是指将已经安装的 APK 文件从 Android 设备中删除,使其不能被执行。卸载过程可以通过多种方式实现,例如通过设置界面、命令行工具 adb 等。下面我们将介绍三种卸载方式。 1. 优雅式卸载:通过...

    android模拟器安装APK文件

    安装APK文件到Android模拟器有几种方法: **方法一:使用Android Studio** 1. 打开Android Studio,并启动你要使用的模拟器。 2. 在项目结构中,找到`app &gt; build &gt; outputs &gt; apk`目录,这里包含你的APK文件。 3....

    android 系统调用安装apk

    在Android系统中,安装APK(应用程序包)是开发者和用户常见的操作之一。根据给定文件的标题、描述以及部分内容,我们可以深入探讨两种主要的系统调用安装APK的方法及其相关知识点。 ### 方法一:使用Intent进行...

    VLC for Android 3.1.5 x86_64版apk、aar及so

    VLC for Android 3.1.5是一款专为Android设备设计的多媒体播放器应用,它基于流行的开源跨平台媒体播放器VLC Media Player。这个版本是针对x86_64架构的Android设备优化的,这意味着它适用于使用64位Intel处理器的...

Global site tag (gtag.js) - Google Analytics