`
gnibrE
  • 浏览: 138102 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

疑难杂症

阅读更多
1 listview 手指移动的时候发黑。

android:cacheColorHint="#00000000"


2 locale
在frameworks/base/core/jni目录下的AndroidRuntime.cpp文件 readLocale函数
> property_get语句里面,
> 把en和US改成zh和CN,

(楼上是假的—)
真相是改sdk.mk
把zh_CN挪到最前面。。最前面的就是默认的。挪到比hdpi更前面。


3 INSTALL_FAILED_UPDATE_INCOMPATIBLE

原因: 只是删了system/app下的apk,没有卸载完全。
解决(1)settings->applications->mange
applications-> select the application->select "unistall".
只对非系统apk有效。
(2)/data/system/packages.xml中该应用相应的信息删掉
缺点是太麻烦,
(3)adb uninstall package-name
这个还成,如果知道源码的包名。

(4) 处理签名。
Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

(注: 这些转载抄来的,自己试了下发现不一定有用。
有些导致INSTALL_FAILED_UPDATE_INCOMPATIBLE的问题,是因为应用里面用了sharedUserId,
已到达和别的应用共享进程的需求,在这种情况下,这个应用无法被单独安装,必须先卸载和这个应用share了userid的那个应用,然后这两个应用都由自己来安装,这样就能保证这两个应用有相同的签名了)


INSTALL_FAILED_UPDATE_INCOMPATIBLE
由于卸载没有完全,可以使用设置中卸载相应应用,或者adb uninstall com.android.***

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
主要是由于使用了android.uid.shared导致的问题。
解决方案如下
   第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:

    修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
    使用mm命令来编译,生成的apk就可以在模拟器中运行了。
  
   
   第二个方法麻烦点,不过不用开虚拟机跑到源码环境下用make来编译:
   
   使用eclipse编译出apk文件,但是这个apk文件是不能用的。
   看Android.mk文件,加入LOCAL_CERTIFICATE := 这一行,根据这行的内容,选择相应的签名。
     platform----->platform.pk8和platform.x509.pem
     shared  ----->shared.pk8和shared.x509.pem
   使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,
      首先找到密钥文件,在我的Android源码目录中的位置
      是"build\target\product\security",下面的platform.pk8和platform.x509.pem
      两个文件。
      然后用Android提供的Signapk工具来签名,signapk的源代码是
      在"build\tools\signapk"下,
      用法为"java -jar signapk.jar  platform.x509.pem platform.pk8 input.apk output.apk",
      文件名最好使用绝对路径防止找不到,也可以修改源代码直接使用。

  其他的APPS应用也是按照该方法可以正常运行,


不过这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android中的key来签名,程序在模拟器上运行OK,不过放到G3上安装直接提示"Package ... has no signatures that match those in shared user android.uid.system",这样也是保护了系统的安全。

最最后还说下,这个android:sharedUserId属性不只可以把apk放到系统进程中,也可以配置多个APK运行在一个进程中,这样可以共享数据,应该会很有用的。



4 字符编码问题。
  中文占俩字节位置,E文占一字节。
  在String@java里面,getLength都是一样的,都是1。
   用getByte可以区分,一个中文getbyte出来大概是3,E文还是1。
 
  在paint里面,textPaint可以使用getWidths函数,得到在实际的界面中的每个字符宽度。



SharedUserid
拥有同一个User id的多个APK可以配置成运行在同一个进程中,所以默认就是可以互相访问任意数据。也可以配置成运行成不同的进程,同时可以访问其他APK的数据目录下的数据库和文件,就像访问本程序的数据一样。
有些过于交错的两个包,可以这样共荣。否则就要通过intentfilter了,麻烦一点点。
另外,共荣的时候,似乎versionCode,versionNname得一样。未验证。。

6
编译不过了。
make clean ;make update-api;make PRODUCT-sdk-sdk;
删tmp文件夹
删out文件夹
不使用-j 参数。并行可能会出错。

编到*_intermediates的时候出错。就查找*的问题,很大概率是他出错。


7 git 配置文件
git-config --list

git-config user.name gnibre
git-config user.email gnibre@gmail.com
使用 --global  改全局



8 有个RelativeLayout, 外面套了个ScrollView,结果用:

RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) view.getLayoutParams();
就会有class cast 异常,不解。 这个view确定是那个RelativeLayout.

9. 父RelativeLayout 套 子RelativeLayout ,并且以.9的图做背景,高度是wrap_content ;
   如果子View设置layout_alignParentBottom="true"
则会出现.9的背景在高度上无限拉伸,而且并不贴着parent的底;
layout_alignParentBottom="@id/hisParent"则不会导致拉伸。



10  mediaplayer 播放ogg文件 / 系统铃声 时, setLoop没用,onCompletion也没用,
一旦start就循环播放没完没了,无奈。。。



11 android收到很多手机发过来的vcard文件(.vcf), 一律标记content type 为image/gif
我00了个xx。。。。



12 在一个relativelayout里面,画重叠起来的两个东西,比如一个imageview,一个button,这两个东西在relative里面画的顺序的先后,是会造成不同的效果的。

比如两个不透明的图,一个会遮住另一个,这个效果比较明显,也比较容易调试。
如果两个都比较透明,就比较难看出来,两个重叠次序的先后,会造成不同的图像效果,比如颜色黯淡什么的,比较难看出来。。


13 Button或者ImageButton , 一旦使用,会取消掉父类的onClickListener ; 这个相当糟糕且麻烦。
有个办法可以得到大部分人想要的需求:在按钮点击相应按钮功能,在按钮之外响应父类的onClickListener;

1 . 在button上使用onClickListener

2 . 在button上,setFocusable(false) ; 这里相当稀奇的是,叫做setFocusable,而不是setClickable,可能上来不是很好理解。

3 。  在父类使用onItemClickListener

分享到:
评论

相关推荐

    系统疑难杂症处理文件,解决系统各种问题

    在IT领域,系统疑难杂症处理是每个用户和专业技术人员都可能遇到的挑战。系统问题可能涵盖硬件故障、软件冲突、驱动程序问题、操作系统错误、病毒攻击、性能下降等多种情况。针对标题和描述中提到的“系统疑难杂症...

    各类电脑疑难杂症处理

    "各类电脑疑难杂症处理"这个主题旨在提供一个全面的解决方案集,帮助用户解决他们在日常使用电脑时遇到的困扰。下面,我们将深入探讨一些常见的电脑问题以及相应的处理方法。 1. **硬件问题**:电脑硬件故障可能是...

    以COM对象处理Excel疑难杂症

    处理Excel疑难杂症时,可能会遇到以下几种情况: 1. **错误处理**:在使用COM对象时,可能会遇到文件已被其他进程占用、路径错误等问题。我们需要捕获并处理这些异常,确保程序的稳定运行。 2. **性能优化**:大量...

    MongoDB疑难杂症分析及优化

    MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化...

    MySQL数据库疑难杂症排查.pptx

    MySQL数据库疑难杂症排查 MySQL 数据库是一种关系型数据库管理系统,广泛应用于各种 Web 应用程序中。但是,在实际应用中,我们经常会遇到各种问题,例如数据库打开速度慢、查询效率低、服务器负载高等问题。因此...

    Java 疑难杂症_笔记.zip

    Java作为世界上最流行的编程语言之一,其复杂性和深度使得开发者在实际开发过程中经常会遇到各种疑难杂症。这份"Java 疑难杂症_笔记.zip"压缩包中的笔记,显然是为了解决这些问题而编写的,旨在帮助Java开发者提高...

    一网打尽sap各类用户疑难杂症

    首先,文档标题《一网打尽sap各类用户疑难杂症》暗示了文档的主旨,是为了解决在使用SAP系统时可能遇到的各类问题。SAP是全球领先的企业资源规划(ERP)软件供应商,其产品被广泛应用于企业资源管理、客户关系管理、...

    React Native 疑难杂症

    ### React Native 疑难杂症解析 #### ScrollView 在不同平台下的差异 - **React Native 中的 `ScrollView`**:`ScrollView` 是一个可以滚动其内容的容器组件,在 React Native 中用于实现滚动功能。 - **Android ...

    MySQL疑难杂症排查

    关于MySQL数据库疑难杂症排查,审明:本资源归原作者所有。

    17个Docker常见疑难杂症解决方案汇总.docx

    17个Docker常见疑难杂症解决方案汇总.docx

    菜鸟必读之电脑疑难杂症在线解答集锦

    【电脑疑难杂症在线解答集锦】是一篇针对初级电脑用户的文章,主要涵盖了电脑使用过程中常见的问题和解决方案。这些问题包括: 1. **软盘引发启动错误**:当电脑开机时出现"Non-System disk or disk error replace ...

    电脑专家 可以为您化解电脑使用的各种疑难杂症

    “电脑专家2009”是一个在线即时答疑软件。无论是电脑初学者还是老手,在使用电脑时总会遇到这样那样的问题——我的操作系统怎么出现蓝屏了,我用的好好的软件...你来问,大家来答,电脑使用的各种疑难杂症为您一一化解

    (6条消息) APM(pixhawk)飞控疑难杂症解决方法汇总_诗筱涵的博客-CSDN博客.mhtml

    (6条消息) APM(pixhawk)飞控疑难杂症解决方法汇总_诗筱涵的博客-CSDN博客.mhtml

    完结28章Go开发疑难杂症终结者通关指南

    给大家分享一套课程——【完结28章】Go开发疑难杂症终结者通关指南

    mysql疑难杂症

    ### MySQL疑难杂症排查知识点详解 #### 一、前言 在数据库运维过程中,经常会遇到各种MySQL相关的性能问题。这些问题可能会导致系统响应时间延长、用户体验下降等问题。因此,掌握有效的MySQL性能诊断方法对于DBA...

    电脑疑难杂症处理工具

    在电脑使用过程中,有时会遇到各种“疑难杂症”,如病毒感染、系统文件损坏、注册表出错等,这些问题可能导致电脑运行不正常或者功能受限。针对这种情况,开发了一款名为“电脑疑难杂症处理工具”的软件,它是一款...

    Microsoft office2003兼容2007包(和网上大部分兼容包不一样,解决疑难杂症)part2

    因为作者的上传软件容量被限制在60M,只能把这个Microsoft office2003兼容2007包分为三...它和网上大部分兼容包不一样,如果你用那种兼容包安装失败的话,可以试试这一个,专门解决这方面的疑难杂症,作者亲身经历。

    Zbrush疑难杂症解

    ### ZBrush疑难杂症解析:专业技巧与解决方案 #### 智能对称处理:SmartResym功能详解 ZBrush中的智能对称处理功能SmartResym是解决模型不对称问题的强大工具。它允许用户轻松地将模型的一侧镜像到另一侧,确保...

    浅析电脑疑难杂症 jp.docx

    【电脑疑难杂症】是指在使用计算机过程中遇到的复杂或难以解决的问题,这些问题可能是硬件故障、软件冲突、系统错误或是网络连接问题等。本篇文章主要从网络中的PAT、主板的PAT以及过程分析技术(PAT)三个方面进行...

    电脑疑难杂症解决方法

    "电脑疑难杂症解决方法"这个资源正是为了帮助用户解决这些头疼的问题而整理的。它涵盖了多种常见的电脑故障及其解决方案,旨在提供一个详尽的指南,帮助用户在遇到问题时能够迅速找到解决之道。 1. **系统启动问题*...

Global site tag (gtag.js) - Google Analytics