Android开发时的一些小Bug

1.cygwin编译找不到动态库

  D:/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm- linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: cannot find -ltvsc

 collect2: ld returned 1 exit status

    make: *** [/cygdrive/f/ipanel/DSMCCDownloadService/obj/local/armeabi/libDSMCCDownload.so] Error

   解决方法:

          添加libtvsc.so文件到D:\android-ndk-r5c\platforms\android-8\arch-arm\usr\lib

2.Android无法找到R.id.main:

   解决方法:检查R.javamain.xml文件,最后发现R.javaActively处于同一目录,不需要import

                  Android无法找到R.java同时gen下面无此文件:

                  解决方法:Project—Build automatic。。r.java生成。

3.Android sdcard操作权限d------。权限不足:

在系统环境path变量中添加,..sdk\platform-tools\到最后,然后cmdadb shell,进入platform-tools目录,chmod 075

4.Android运行时异常:

     java.lang.RuntimeException: Unable to instantiate activity         ComponentInfo{com.android/activity.MainTabActivity}:

     java.lang.ClassNotFoundException:

                  ativity.MainTabActivity in loader alvik.system.PathClassLoader

这个异常,网上搜一下,说是AndroidManifest.xml 配置 activity 时路径搞错了。

于是我查看了一下,关键代码如下

<activity android:name="activity.MainTabActivity 
          
                  android:label="@string/app_name">
                  
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
</activity>

更改 android:name="activity.MainTabActivity " 为 android:name=".activity.MainTabActivity "

更改以上路径就解决此问题了

 

这里也可以改为完整路径(指当前activity所在的包下的路径) android:name="com.android.activity.MainTabActivity " 

5。Android模拟器启动时异常,但不影响程序运行:

Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake

解决方法:

         SDKADV都没有问题。

         主要是因为当前所开的Eclipse WorkSpace中有报错的Project。将Project删除或者错误注释掉,问题解决。

6.10-29 01:17:16.203: W/System.err(289): java.io.IOException: Prepare failed.: status=0x1

10-29 01:17:16.213: W/System.err(289):      at android.media.MediaPlayer.prepare(Native Method)

解决办法:

mp.setDataSource(PATH_TO_FILE); 
    mp.prepare(); 
这个地方修改如下: 
File file = new File(strPath); 
FileInputStream fis = new FileInputStream(file); 
mediaPlayer.setDataSource(fis.getFD()); 
mp.prepare(); 
或者 
把mediaPlayer.prepare;改成 
mediaPlayer.prepareAsync(); 

10-29 01:21:53.865: E/MediaPlayer(446): prepareAsync called in state 1

这个里面的错误将会出现state1,2,8

这些都是因为写代码的时候没有注意,reset,setDataSource ,prepare,start的关系

MediaPlayer的创建过程中是已经进行了Prepare的工作,reset必须在setDataSource之前。

7.android的Project has no default.properties file! Edit the project properties to set one. 怎么解决

解决方法:

 1、到其他工程里把这个default.properties文件拷贝过来直接用,没有关系,可以用的,都是一样的啦~

         (这时候如果发现工程还是有错误的话就把工程重新导入一下,一般可以解决的。如果还是有错的话,很可能就是工程里有某些包没有导入进工程了,那按一下Ctrl+Shift+O吧,会自动把工程中用到的包导进来哟~)

    2、还有一个超级简单的方法哈,那就是把project.properties文件重命名一下~\(≧▽≦)/~啦啦啦   就改成default.properties名称就OK~



你可能感兴趣的:(Android开发时的一些小Bug)