梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

随笔分类 -  Android

利用Android的崩溃日志来定位问题
摘要:之前项目打包混淆的时候,都没有留下什么有意义的文件,导致运营那边反馈过来的崩溃日志(最典型的就是Google Play),都没有好好利用,因为里面的日志很多都是混淆过的类、方法与变量,很难定位问题。最近发现了:只要在混淆的时候,加入以下的命名,就可以生成一个类、方法与变量的混淆前后的映射表:-printmapping ${dstdir}/mapping.txt发布新包之后,保留这个文档,以后遇到用户提交的崩溃日志,可以根据上面的映射文件,就能定位出现崩溃的地方,至少能定位到某个子程序。 阅读全文

posted @ 2012-08-30 13:20 梦书 阅读(6785) 评论(2) 推荐(0) 编辑

使用Parcelable出现的几个问题
摘要:1.Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling : com.MyClass原因:这个类我是通过将其放入Bundle中传递的,所以在从Bundle中取的时候需要先设置ClassLoader:mBundle.setClassLoader(MyClass.class.getClassLoader());myClass = mBundle.getParcelable( "MY_CLASS" );2.Caused by: java.lang.NullPo 阅读全文

posted @ 2012-08-01 10:34 梦书 阅读(4780) 评论(0) 推荐(0) 编辑

Eclispe 加载程序失败
摘要:每次启动都提示找不到默认的Activity页面1.编译没有问题2.发现是因为启动的Activity页面引用了第3方的jar包,而该JAR包不在/libs下3.目前的版本ADT是最新的,想起之前有人提到过这样的问题,将所有的jar包移动到 /libs/即可。 阅读全文

posted @ 2012-07-17 17:50 梦书 阅读(201) 评论(0) 推荐(0) 编辑

通过反射获取类的所有构造函数与方法
摘要:构造函数:Class<?> sp = Class.forName("java.lang.String");Pattern p = Pattern.compile("\\w+\\.");Constructor<?>[] ctors = sp.getDeclaredConstructors();for(Constructor<?> ctor : ctors){ System.out.println(p.matcher(ctor.toString()).replaceAll(""));}其中 Patter 阅读全文

posted @ 2012-07-16 17:03 梦书 阅读(1771) 评论(0) 推荐(0) 编辑

将App放到/system/app/目录需要注意的问题
摘要:1.如果该App里面有NDK的代码,即需要调用.so,那么需要将.so文件放到/system/lib/下,否则,运行的时候会报找不到.so库的错误 阅读全文

posted @ 2012-07-10 18:00 梦书 阅读(514) 评论(0) 推荐(0) 编辑

taskdef class com.android.ant.NewSetupTask cannot be found
摘要:这两天更新到最新的ADT与SDK,但是打包的时候却出现如题的错误,是我的ANT文件中引用了: <!-- jar file from where the tasks are loaded --> <path id="android.antlibs"> <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> </path> <!-- Custom tasks --> <taskdef name="setup" cla 阅读全文

posted @ 2012-07-09 17:13 梦书 阅读(2941) 评论(4) 推荐(0) 编辑

ADT 如果一直停留在15左右 无法升级上去的话
摘要:考虑换个新版本的Eclispe,3.7的就可以了 阅读全文

posted @ 2012-07-05 12:58 梦书 阅读(169) 评论(0) 推荐(0) 编辑

Java中String 的不可变性
摘要:一句话:String对象不能在原处修改。 阅读全文

posted @ 2012-06-29 13:32 梦书 阅读(280) 评论(0) 推荐(0) 编辑

Google还是很贴心的,最近的SDK更新都提供了SDK源代码的下载
摘要:下载成功后,存放到<sdk_root>/sources/下,然后按版本存放 阅读全文

posted @ 2012-06-01 11:00 梦书 阅读(199) 评论(0) 推荐(0) 编辑

Caused by: java.lang.RuntimeException: Unable to open trace file '/mnt/sdcard/XXX.trace': Permission denied
摘要:依次检查以下项目:1. 手机或者模拟器是否有/支持SD Card2. App是否有 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 权限3. xxx.trace文件是否被其他的App锁住了,即与其他的App同名 阅读全文

posted @ 2012-05-28 12:43 梦书 阅读(3379) 评论(0) 推荐(0) 编辑

Android打包含有文本或者图片资源的JAR包
摘要:如果引用第3方的jar,并且jar中包含文本或者图片资源,apkbuilder时,需要特殊处理:apkbuilder -rj <third party.jar>而jar包中读取其包含的文本或者图片资源,可以采用以下的方式(一般都是读取整个文件):String resource;//资源文件名InoutStream ins = XXX.class.getResourceAsStream(resource);或者File f = new File(XXX.class.getResource.getFile(resource)); 阅读全文

posted @ 2012-05-22 14:52 梦书 阅读(2361) 评论(0) 推荐(0) 编辑

simple_spinner_item.xml
摘要:1. /frameworks/base/core/res/res/layout/simple_spinner_item.xml<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="ma 阅读全文

posted @ 2012-05-17 16:52 梦书 阅读(2892) 评论(0) 推荐(0) 编辑

研究下 android.R.attr.textAppearanceSmall
摘要:/frameworks/base/core/res/res/values1. themes.xml 找到:<item name="textAppearanceSmall">@android:style/TextAppearance.Small</item>2. styles.xml 找到 <style name="TextAppearance.Small"> <item name="android:textSize">14sp</item> <item name=&qu 阅读全文

posted @ 2012-05-17 14:57 梦书 阅读(4352) 评论(0) 推荐(1) 编辑

appwidget-provider 字段解析
摘要:<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="250dp"//widget最小宽度 android:minHeight="180dp"//widget最小高度 android:updatePeriodMillis="1800000"//更新频率,但好像 1.5之后就不支持了 android:initialLayout="@layout/widget_la 阅读全文

posted @ 2012-05-16 17:03 梦书 阅读(1030) 评论(0) 推荐(0) 编辑

App Widget支持的Layout与widget
摘要:App Widget的Layout是基于RemoteViews,而RemoteViews并不是支持所有的Layout(布局)与视图的。1.支持的Layout-LinearLayout-RelativeLayout-FrameLauout2.支持的Widget(/View视图)-TextView-ImageView-ImageButton-StackView-AnalogClock-Button-Chronometer-ListView-GridView-ViewFlipper-AdapterViewFlipper源代码中查看就是类名前面的@RemoteView,如@RemoteViewpubl 阅读全文

posted @ 2012-05-16 14:37 梦书 阅读(823) 评论(0) 推荐(0) 编辑

keytool错误: java.io.FileNotFoundException: android.key (Permission denied)
摘要:keytool 在JDK的/bin目录下,比如:/opt/jdk/bin用以下的命令生成一个证书:keytool -genkey -alias android.key -keyalg RSA -validity 20000 -keystore android.key老是报如题的错误:后来才知道是因为当前的目录下没有写的权限,所以需要指定一个路径来存放android.key:keytool -genkey -alias android.key -keyalg RSA -validity 20000 -keystore /<MY_PATH>/android.key注: 该单位的两字母国 阅读全文

posted @ 2012-05-16 10:47 梦书 阅读(9763) 评论(0) 推荐(0) 编辑

Android开机自启动
摘要:1. 在Manifest.xml文件中 添加如下的权限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>2.在Manifest.xml中,添加receiver的声明: <receiver android:name="<my app package>.BootReceiver"> <intent-filter> <action android:name=&q 阅读全文

posted @ 2012-05-15 14:04 梦书 阅读(409) 评论(0) 推荐(0) 编辑

调整Android模拟器的尺寸
摘要:现在模拟器映像都有点大了,有时无法看全屏幕,就需要调整下。1.打开 Android Virtual Devics Manager2.选择您要打开的AVD,没有的话,先创建一个3.选择scale display to real size,其下的Screen Size(in),中的in应该就是inch(英寸),4有点小,6拆不多。但是该方法,每次都得指定大小,比较麻烦些。 阅读全文

posted @ 2012-05-09 11:29 梦书 阅读(2524) 评论(0) 推荐(0) 编辑

setShowDividers用法
摘要:从API level 11之后,像LinearLayout之类的控件,都引入了setShowDividers函数,用来安排LinearLayout布局下各个item的分割线如何放置,刚开始我以为设置了这个函数,就能显示分割线,后来发现一直都没有显示分割线,以为是系统的BUG?今天认真看了下LinearLayout的源代码,才发现除了设置setShowDivider后,还需要同时调用函数setDividerDrawable设置分隔线的样式/图片。 阅读全文

posted @ 2012-05-07 14:01 梦书 阅读(3224) 评论(0) 推荐(0) 编辑

64位机安装Android开发环境
摘要:这两天帮一测试人员安装Android环境,谁知他的机器是64位的,所以导致配置起来非常的麻烦,因为之前配置的机器都是32位的。1.JDK 要64位的2.eclipse要64位的3.而Android SDK只有32位的,所以还需要安装一个软件: ia32-libs 阅读全文

posted @ 2012-05-04 18:57 梦书 阅读(557) 评论(0) 推荐(0) 编辑