• 安卓开发遇到的各种问题


    1. 运行时出现的  java.lang.NoClassDefFoundError: org.htmlparser.Parser

    出现这个问题,首先当然去查引用。发现引用包里有这个类呀。折腾了好久,后来才发现原来是这个类的依赖类没的。(是在eclipse里试出来的)引入一个htmllexer.jar包就好了。

    这里的错误提示太误导人了。缺什么就提示什么呗。硬是把最上层的不缺的打映出来。

    2. Multiple dex files define Lorg/htmlparser/util/SimpleNodeIterator;

    我先说网上搜到的解决办法吧:f1  Project-> Clean   然后再Project -> Build All  这个是通过清空历史文件,重新编译的方法。

    f2 其实,就是在你的项目下某个文件夹中有一个后缀为*.APK的文件,删掉,重启Eclipse即可。另外提醒下,一定要重启Eclipse!!

    上面的是我从http://blog.csdn.net/asan855/article/details/7568702看到的。

    f3 然后我遇到的情况却是。jar包里确实有两个一样的class。我们知道eclipse里是可以引用多个一样的包或类的。但安卓不让有一样的类,然后我就找到那个jar包,用RAR打开,删除其中的一个类。就ok了。

    3. service类没有放到基本包下面,运行startService(loopRequestService);没反应,也不报错,service也不启动。

    基本包在这里定义的:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="cn.angelshelter.fanmore.android.v1"

    解决办法是把service类定义移动基本包下面。

    4. 

    Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:Program Files (x86)Javajdk1.8.0_102injava.exe'' finished with non-zero exit value 2

    原因是我在开发apicloud插件的时候,引入了android-support-v4.jar包,可能与系统自带的冲突,删除就好了。(jar包有冲突

    2017-05-23

    一键真机测试的时候报错:The selected device is incompatible.

    这个是因为build.gradle的minSdkVersion 10太高了,比你现在连接的手机高,所以你要把最低版本号调低一点或者换个新手机,记住,修改后要Build -> clean Project 一下才会生效

     2017-05-24

    一头撞死算了,昨天我居然写出了一个死循环而不自知,还各种怀疑是不是开发环境有bug? 即没有报错,又没有执到结束,子线程也没有修改宿主类的成员变量。。。。

    大家也来瞧瞧,一眼看出来的是大神

                String line = br.readLine();
                while(line!=null){
                    if(!line.startsWith("#")){
                        if(line.length()==0){
                            continue;
                        }
                        M3u8Entity.TS ts = new M3u8Entity.TS(line, baseUrl + line);
                        entity.addTS(ts);
                    }
                    line = br.readLine();
                }

     2017-07-14

    做播放器的时候,如果集成的播放器框加没有暴露出它的控制组件层什么时候显示,什么时候隐藏,有时候,你想小屏的时候隐藏返回,全屏的时候显示全屏。

    发现自己设置visible并没有效果,因为框架会经常地修改setVisibility值,又不告诉你,每次它设置setVisibility值的时候,就会覆盖你自己的设置。

    有一种另寻窍门的办法是,框架设置setVisibility,你可以设置透明度呀,透明度为1的时候不可见,透明度为255的时候可见。

    如果是图片就是setAlpha(255);如果是View就是.getBackground().setAlpha(255);

    2017-08-29

    不作死就不会死。最近又遇到了UnsatisfiedLinkError问题。我把所有的so文件都加进去了的呀。一直以为只要把so文件放到jniLibs目录里就会自动加载,我又错了。需要用

    System.loadLibrary("QuCore-ThirdParty");

    去加载so文件。

    所以呀,在学习一个SDK开发包的时候,那个继承Application的类是最核心的,一般在它里面做一些初始化工作。一定要看。

    2017-08-30

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.administrator.appcompattest/com.example.administrator.appcompattest.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

    检查 value.xml文件,是有定义Theme主题的,在看AndroidManifest.xml文件里面也设置了主题,为什么还是报这个错误了,后来花了我一晚上的时候,在对比中发现,原来是我自己生成的R文件(手动生成的)有问题。

    2017-09-06凌晨

    前几天开发中遇到的android.support.v7.widget.RecyclerView类找不到报错。今天找到原因了。

    虽然我是看jar里面确实是有这个类。造成这个原因,是因为我在android-support-recyclervew多个版本之间换了部分类,造成RecyclerView依赖的类找不到,所以不能实例化RecyclerView。

    又因为这个类是在jar包里面,所以Android Studio编译通过了,并没有发现有什么不对。

    2017-09-08

    在做安卓协议打开APP的时候,发现怎么做都不生效,后来打了一个正式包,居然有效了,原来usb运行对协议无效。

    2017-09-24

    Toast不能在非ui线程中调用。

    2018-03-24

     mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
                        SAMPLE_RATE_IN_HZ, AudioFormat.CHANNEL_IN_DEFAULT,
                        AudioFormat.ENCODING_PCM_16BIT, BUFFER_SIZE);

    这个只能调用一次,如果调用第二次,然后

     mAudioRecord.startRecording();

    就会报错:报了

    java.lang.IllegalStateException: 
            startRecording() called on an uninitialized AudioRecord.
    at android.media.AudioRecord.startRecording(AudioRecord.java:986) at cn.angelshelter.app.apicloud.decibel.DecibelModule$1.run(DecibelModule.java:85) at java.lang.Thread.run(Thread.java:761)

    正确的处理流程是

    
    
    if(mAudioRecord!=null){
    mAudioRecord.stop();
    mAudioRecord.release();
    }
    mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
    SAMPLE_RATE_IN_HZ, AudioFormat.CHANNEL_IN_DEFAULT,
    AudioFormat.ENCODING_PCM_16BIT, BUFFER_SIZE);
    
    

     2019-12-08

    修改AndroidManifest.xml下面的package包名,发现并没有生效。

    然后找到build.gradle文件,看到一行

        defaultConfig {
            applicationId project.ANDROID_BUILD_APP_PKG
    }

    虽然我没有找到那个project文件在哪,但把 applicationId project.ANDROID_BUILD_APP_PKG 这一行注解掉就可以了。

  • 相关阅读:
    论文讨论&&思考《Deformable Convolutional Networks》
    论文笔记《Spatial Memory for Context Reasoning in Object Detection》
    从零开始学习MXnet(四)计算图和粗细粒度以及自动求导
    从零开始学习MXnet(三)之Model和Module
    从零开始学习MXnet(二)之dataiter
    谈一谈深度学习之semantic Segmentation
    从零开始学习MXnet(一)
    机器学习技法笔记(1)
    iOS安装CocoaPods详细过程
    汇编(一)
  • 原文地址:https://www.cnblogs.com/angelshelter/p/4132792.html
Copyright © 2020-2023  润新知