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函数,得到在实际的界面中的每个字符宽度。


5
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

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  6. Android实战教程第三篇之简单实现拨打电话功能
  7. Android(安卓)Studio 之 Intent开发 简单Demo ---- 发送短信息
  8. Android(安卓)判断软件是否第一次打开
  9. android sdk 编译相关

随机推荐

  1. Android改变图像的饱和度、亮度和对比度
  2. android 分享到 代码
  3. Android dependency 'com.android.suppor
  4. 自定义控件的开发
  5. Android学习 画图 (一) 球
  6. Android中播放mp3文件
  7. android 检查GPS是否开启,打开GPS设置界面
  8. Android中完全退出当前应用系统
  9. android Intent 短信群发
  10. android上设置ftp服务器