android 干货和app有关的一切Android开发经验谈

Android 开发中的bug和知识点总结(持续更新中)

2018-04-25  本文已影响106人  墙角的牵牛花

1.多语言设置:
https://blog.csdn.net/qq_21983189/article/details/73735278
https://blog.csdn.net/gh8609123/article/details/62440795

2.导入旧项目慢:

改gradle的版本。
改local.properties配置。
改classpath

3.经典bug

Error:Execution failed for task ':app:transformClassesWithDesugarForDebug'.

com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@C:\projects\sxyz\app\build\intermediates\tmp\desugar_args4363382331831664290}+

怎么build都不行,更换jdk就好了。

bug.png

4.Could not reserve enough space for 1572864KB object heap。
当前项目gradle.properties中:org.gradle.jvmargs=-Xmx1536m 改成

org.gradle.jvmargs=-Xmx1536
MaxHeapSize=512m

或者直接改成:

 org.gradle.jvmargs=-Xmx512m
在as启动页面: 2.png

5.让输入法自动弹出:
android:windowSoftInputMode="stateVisible|adjustPan"
隐藏:android:windowSoftInputMode="stateVisible|stateHidden"

6."stateHidden|adjustResize"和"stateHidden|adjustPan"区别:
"adjustResize"在使用时,布局会被软键盘顶上去,体验非常不好
"adjustPan"在使用时获取焦点的控件下边的View将会被软键盘覆盖。

stateHidden与stateAlwaysHidden:
stateHidden:用户选择activity时,软键盘总是被隐藏。
stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是隐藏的。

stateVisible与stateAlwaysVisible:
stateVisible:软键盘通常是可见的。
stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态。

6.Google官方demo网站:https://github.com/googlesamples

  1. Error:(16, 49) String types not allowed (at 'layout_constraintBottom_toBottomOf' with value 'parent')

错误布局:

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

修改方法:在根目录添加id。

android:id="@+id/lay_root"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main"
tools:context="com.cheerchip.testskining.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="@+id/lay_root"
    app:layout_constraintLeft_toLeftOf="@+id/lay_root"
    app:layout_constraintRight_toRightOf="@+id/lay_root"
    app:layout_constraintTop_toTopOf="@+id/lay_root" />

8

 .java.lang.ClassCastException: android.graphics.drawable.VectorDrawable cannot be cast to    android.graphics.drawable.BitmapDrawable

以为是不能强转,结果魅族pro6s报错,其余几台测试机ok。重启了几遍AS,结果就好了。

  1.  Error:android-apt plugin is incompatible with the Android Gradle plugin.  Please use 'annotationProcessor' configuration instead.
    

删除:

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
apply plugin: 'android-apt'
 javaCompileOptions {
        annotationProcessorOptions {
            includeCompileClasspath true
        }
    }  

10.Disconnected from the target VM, address: 'localhost:8601', transport: 'socket'
项目正常能跑,调试就奔溃。突然之间就出现了这个问题。
第一反应,去看有没有端口冲突。没有。第二份反应,回忆有没有做别的操作,没有。
于是重启AS,重启电脑,依旧不行。开始百度,谷歌,各种方法,试了十来种,一个都不行。
机智的同事,把我的网线拔了,重启AS就好了。

  1. This Activity already has an action bar supplied by the window decor. Do not request 
    Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
    解决办法:
    <item name="windowNoTitle">true</item>
    
  2. android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.v7.
    Didn't find class "android.support.v7." on path: DexPathList[[zip file "/data/app/com.szmaiji.sxyz-1/base.apk", zip file "/data/app/com.szmaiji.sxyz-1

布局错了:<android.support.

13.No cached version of com.android.support:multidex:1.0.2 available for offline

去掉File-Setting-Gradle-Offline work

14.Unknown failure (at android.os.Binder.execTransact(Binder.java:574))
Error while Installing APKs

File ---> Settings ---> Build,Execution,Deployment ---> Instant Run
把Enable Instant Run to选项去掉再重新运行一遍就通过了

15.微信回调失败。
微信没有回调一般就两点,要么是回调类配置位置不对,要么就是签名包名不一致,所以要先检查回调信息的,如果是代码不对会进失败的回调有错误信息的,依次检查看看。

  1.  Android dependency 'com.android.support:appcompat-v7' has different version for the compile (25.3.1) and runtime (27.0.2) classpath. You should manually set the same version via DependencyResolution
    

17.Android Studio同步svn.

https://www.cnblogs.com/details-666/p/SVN.html

18.Error:null value in entry: aaptFriendlyManifestOutputDirectory=null
删除.gradle,重新build就好。

19.Android Studio 打开是欢迎页面:框住的地方取消选中

wel.png

20.Only fullscreen opaque activities can request orientation
修改主题:

     <item name="android:windowIsTranslucent">false</item>
    <item name="android:windowDisablePreview">true</item>

去掉: AndroidManifest.xml中 android:screenOrientation="portrait"

一般问题就是:android:windowIsTranslucent = true 或者android:screenOrientation="portrait" 引起的。

  1. You need to use a Theme.AppCompat theme (or descendant) with this activity.
    自定义的style: <style name="MyDialogStyle1" parent="@style/Theme.AppCompat.Light.NoActionBar">
    或者在 AndroidManifest.xml的相对应的Activity那里, android:theme="@style/Theme.AppCompat.Light.NoActionBar"
上一篇下一篇

猜你喜欢

热点阅读