今天给同事装 模拟器Sony-Ericsson 然后再idea里 启动模拟器报 “Couldn`t load zayitlib.dll library”
现象:
模拟器出现闪过又消失了
解决办法:
在C:\program files\VoiceAge\Common里 copy
SPOTxdePlayerDLL.dll
SPOTCorePlayer_51.dll
VaMp_50.dll
VaAce.dl
到 这四个dll文件考到你的\SonyEricsson\J2ME_SDK\PC_Emulation\WTK2\bin目录下就可以了。
原理:
本来bin目录下面是有这个zayitlib.dll文件的,可是程序在使用这个动态链接库文件时出现了问题,原来这个文件是依赖与上面的这些dll文件,程序安装过程其实默认就想让你在系统启动的时候装载这些文件,但是由于种种原因我们并没有让它顺利的启动。
记下来 万一以后再出现了
一、准备工作
Cygwin http://www.cygwin.com/setup.exe
android-ndk http://dl.google.com/android/ndk/android-ndk-r5-windows.zip
二、安装cygwin可以搜索一下比较简单。(安装时注意选择包时选择Devel)
三、配置NDK的编译环境,我这儿使用的Eclipse编译。
1.编辑cygwin目录下的 home\user(你的用户名)\.bash_profile
在最后添加上
ANDROID_NDK_ROOT=/cygdrive/E/android-ndk-r5 (你ndk的路径 cygwin访问其它驱动器/cygdrive/CDEFG...)
export ANDROID_NDK_ROOT
2.在Eclipse中新建android工程,选择本地路径 NDK下的sample android-ndk-r5\samples\hello-jni
然后选择版本完成新建工程。
3。在工程上面右键->Properties->Builders->New->Program
Location 选择cygwin\bin\bash.exe
Working Directory 可以不填
Arguments: --login -c "cd /cygdrive/工程的jni目录含有Android.mk&& $ANDROID_NDK_ROOT/ndk-build" ($ANDROID_NDK_ROOT 为第一步设置的环境变量)
4.
环境搭建完毕,刷新工程或者clean工程控制台会打印:
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Install : libhello-jni.so => libs/armeabi/libhello-jni.so
编译成功。
然后运行虚拟机就能看到结果。
修改jni\hello-jni.c文件中的 return (*env)->NewStringUTF(env, "Hello from JNI datuo2!"); 保存自动编译,再运行看输出字符串发生变化。
最近一直纠结于ListView中每个Item中高度的问题,在网上只找出一个方法,就是在每个item里面加入图片,也就是ImageView,这样用图片来“撑”它的高度,这样实在是费劲,不可也可以解决问题
今天无意间看SDK里面的Demo,发现还有一种方法,如下黑色粗体所示
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:minHeight="?android:attr/listPreferredItemHeight" > <TextView android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="20dp" android:text="@string/hello" /></LinearLayout>