View Inspection Toolbar for Android Development

Related tags

Tools ViewInspector
Overview

View Inspector Plugin

Download

View inspection toolbar for android development.

Features

  • Boundary

    • show outlines
    • show margins
    • show paddings
  • Layer

  • Event

    • Probe features
    • Profile View Tree
  • Logging

    • show view life-cycle events in logcat
  • Absolute ZERO effects on non-debug builds

Usage

buildscript {
  repositories {
    jcenter() // or mavenCentral()
  }

  dependencies {
    classpath 'com.github.xfumihiro.view-inspector:view-inspector-plugin:0.2.0'
  }
}

apply plugin: 'com.android.application'
apply plugin: 'view-inspector'

To exclude packages:

viewInspector {
  excludePackages = ['android.widget.Space', 'com.squareup.leakcanary.internal']
}

SNAPSHOTS of the development version. [usage]

Inspirations & Dependencies

Scalpel by Jake Wharton

Probe by Lucas Rocha

this article by Sriram Ramani

Toolbar fashion : Telecine by Jake Wharton

Developed by

Fumihiro Xue

License

Copyright 2015 Fumihiro Xue

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • android.view.WindowManager$BadTokenException: Permission denied for this window type

    android.view.WindowManager$BadTokenException: Permission denied for this window type

    I'm using a 0.1.2-SNAPSHOT version of library and my app crashes at startup. Can't use 0.1.1 because of bug with WebViews. I do have a permission android.permission.SYSTEM_ALERT_WINDOW in my AndroidManifest.xml

     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.armaxis.mobile/com.armaxis.mobile.StartupActivity}: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3fb6060 -- permission denied for this window type
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
         at android.app.ActivityThread.-wrap11(ActivityThread.java)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
         at android.os.Handler.dispatchMessage(Handler.java:102)
         at android.os.Looper.loop(Looper.java:148)
         at android.app.ActivityThread.main(ActivityThread.java:5417)
         at java.lang.reflect.Method.invoke(Native Method)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3fb6060 -- permission denied for this window type
         at android.view.ViewRootImpl.setView(ViewRootImpl.java:591)
         at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
         at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
         at view_inspector.weaving.ViewInspectorAspect.injectViewInspector(ViewInspectorAspect.java:82)
         at com.armaxis.mobile.StartupActivity.onCreate(StartupActivity.java:36)
         at android.app.Activity.performCreate(Activity.java:6237)
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
         at android.app.ActivityThread.-wrap11(ActivityThread.java) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
         at android.os.Handler.dispatchMessage(Handler.java:102) 
         at android.os.Looper.loop(Looper.java:148) 
         at android.app.ActivityThread.main(ActivityThread.java:5417) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    
    opened by Armaxis 24
  • VectorDrawable causes the crash on pre-Lollipop

    VectorDrawable causes the crash on pre-Lollipop

    It can only run in android 5.0?

    591-591/com.github.xfumihiro.view_inspector.sample E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.github.xfumihiro.view_inspector.sample, PID: 591
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.github.xfumihiro.view_inspector.sample/viewinspector.sample.MainActivity}: android.view.InflateException: Binary XML file line #18: Error inflating class android.widget.ImageButton
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2192)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2241)
                at android.app.ActivityThread.access$800(ActivityThread.java:141)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5049)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class android.widget.ImageButton
                at android.view.LayoutInflater.createView(LayoutInflater.java:623)
                at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:672)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:465)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                at android.view.View.inflate(View.java:17500)
                at view_inspector.ui.ViewInspectorToolbar.<init>(ViewInspectorToolbar.java:60)
                at view_inspector.ui.ViewInspectorToolbar_Factory.get(ViewInspectorToolbar_Factory.java:23)
                at view_inspector.ui.ViewInspectorToolbar_Factory.get(ViewInspectorToolbar_Factory.java:9)
                at dagger.internal.ScopedProvider.get(ScopedProvider.java:46)
                at view_inspector.weaving.ViewInspectorAspect_MembersInjector.injectMembers(ViewInspectorAspect_MembersInjector.java:53)
                at view_inspector.weaving.ViewInspectorAspect_MembersInjector.injectMembers(ViewInspectorAspect_MembersInjector.java:11)
                at view_inspector.dagger.DaggerActivityComponent.inject(DaggerActivityComponent.java:261)
                at view_inspector.weaving.ViewInspectorAspect.injectViewInspector(ViewInspectorAspect.java:70)
                at viewinspector.sample.MainActivity.onCreate(MainActivity.java:11)
                at android.app.Activity.performCreate(Activity.java:5249)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2156)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2241)
                at android.app.ActivityThread.access$800(ActivityThread.java:141)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5049)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.reflect.InvocationTargetException
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                at android.view.LayoutInflater.createView(LayoutInflater.java:597)
                at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:672)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:465)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                at android.view.View.inflate(View.java:17500)
                at view_inspector.ui.ViewInspectorToolbar.<init>(ViewInspectorToolbar.java:60)
                at view_inspector.ui.ViewInspectorToolbar_Factory.get(ViewInspectorToolbar_Factory.java:23)
                at view_inspector.ui.ViewInspectorToolbar_Factory.get(ViewInspectorToolbar_Factory.java:9)
                at dagger.internal.ScopedProvider.get(ScopedProvider.java:46)
                at view_inspector.weaving.ViewInspectorAspect_MembersInjector.injectMembers(ViewInspectorAspect_MembersInjector.java:53)
                at view_inspector.weaving.ViewInspectorAspect_MembersInjector.injectMembers(ViewInspectorAspect_MembersInjector.java:11)
                at view_inspector.dagger.DaggerActivityComponent.inject(DaggerActivityComponent.java:261)
                at view_inspector.weaving.ViewInspectorAspect.injectViewInspector(ViewInspectorAspect.java:70)
                at viewinspector.sample.MainActivity.onCreate(MainActivity.java:11)
                at android.app.Activity.performCreate(Activity.java:5249)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2156)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2241)
                at android.app.ActivityThread.access$800(ActivityThread.java:141)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5049)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_chevron_left_white_24px.xml from drawable resource ID #0x7f020033
                at android.content.res.Resources.loadDrawable(Resources.java:2149)
                at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:348)
                at android.content.res.Resources.loadDrawable(Resources.java:2072)
                at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
                at android.widget.ImageView.<init>(ImageView.java:129)
                at android.widget.ImageButton.<init>(ImageButton.java:87)
                at android.widget.ImageButton.<init>(ImageButton.java:83)
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                at android.view.LayoutInflater.createView(LayoutInflater.java:597)
                at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:672)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:465)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                at android.view.View.inflate(View.java:17500)
                at view_inspector.ui.ViewInspectorToolbar.<init>(ViewInspectorToolbar.java:60)
                at view_inspector.ui.ViewInspectorToolbar_Factory.get(ViewInspectorToolbar_Factory.java:23)
                at view_inspector.ui.ViewInspectorToolbar_Factory.get(ViewInspectorToolbar_Factory.java:9)
                at dagger.internal.ScopedProvider.get(ScopedProvider.java:46)
                at view_inspector.weaving.ViewInspectorAspect_MembersInjector.injectMembers(ViewInspectorAspect_MembersInjector.java:53)
                at view_inspector.weaving.ViewInspectorAspect_MembersInjector.injectMembers(ViewInspectorAspect_MembersInjector.java:11)
                at view_inspector.dagger.DaggerActivityComponent.inject(DaggerActivityComponent.java:261)
                at view_inspector.weaving.ViewInspectorAspect.injectViewInspector(ViewInspectorAspect.java:70)
                at viewinspector.sample.MainActivity.onCreate(MainActivity.java:11)
                at android.app.Activity.performCreate(Activity.java:5249)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2156)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2241)
                at android.app.ActivityThread.access$800(ActivityThread.java:141)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5049)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag vector
                at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:935)
                at android.graphics.drawable.
    
    ``` java
    
    enhancement 
    opened by kissazi2 9
  • java.lang.NoSuchFieldError

    java.lang.NoSuchFieldError

    java.lang.NoSuchFieldError: No static field toggle_menu of type I in class Lview_inspector/R$id; or its superclasses (declaration of 'view_inspector.R$id' appears in /data/app/com.unicorn.csp.xcdemo-1/base.apk) at view_inspector.ui.ViewInspectorToolbar.onAttachedToWindow(ViewInspectorToolbar.java:90) at android.view.View.dispatchAttachedToWindow(View.java:13543) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2690) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1322) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1084) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5990) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

    opened by Ivolian 7
  • Crash on Probe Measures when layout contains FitWindowsLinearLayout

    Crash on Probe Measures when layout contains FitWindowsLinearLayout

    10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: java.lang.ClassCastException: android.support.v7.internal.widget.FitWindowsLinearLayout cannot be cast to view_inspector.probe.ViewProxy 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at view_inspector.probe.Interceptor.invokeForceLayout(Interceptor.java:139) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at view_inspector.probe.ViewInspectorInterceptor.forceLayoutRecursive(ViewInspectorInterceptor.java:242) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at view_inspector.probe.ViewInspectorInterceptor.forceLayoutRecursive(ViewInspectorInterceptor.java:249) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at view_inspector.probe.ViewInspectorInterceptor.requestLayout(ViewInspectorInterceptor.java:226) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at com.skype.android.app.view_inspector.ProbeProxy$android_widget_FrameLayout.requestLayout(ProbeProxy$android_widget_FrameLayout.java:64) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at android.view.View.requestLayout(View.java:18530) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at android.view.View.requestLayout(View.java:18530) 10-28 22:02:32.659 11057-11057/com.skype.android.app E/AndroidRuntime: at android.view.View.requestLayout(View.java:18530)

    opened by artemdanylenko 3
  • Overlay Error

    Overlay Error

    E/AndroidRuntime: FATAL EXCEPTION: main Process: me.zhanghai.android.patternlock.sample, PID: 5194 java.lang.RuntimeException: Unable to start activity ComponentInfo{me.zhanghai.android.patternlock.sample/me.zhanghai.android.patternlock.sample.app.LockScreenConfirm}: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3124ada -- permission denied for this window type at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3124ada -- permission denied for this window type at android.view.ViewRootImpl.setView(ViewRootImpl.java:591) at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85) at android.app.Dialog.show(Dialog.java:319) at me.zhanghai.android.patternlock.sample.util.utils.LockscreenUtils.lock(LockscreenUtils.java:52) at me.zhanghai.android.patternlock.sample.app.LockScreenConfirm.lockHomeButton(LockScreenConfirm.java:228) at me.zhanghai.android.patternlock.sample.app.LockScreenConfirm.onCreate(LockScreenConfirm.java:159) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  06-30 17:44:09.788 1661-4267/system_process E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9fe70740 06-30 17:44:12.822 1173-1290/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property

    opened by kikani89 2
  • Wrong package of SurfaceView

    Wrong package of SurfaceView

    There's no such class as android.widget.SurfaceView however there's android.view.SurfaceView. ViewInspector tries to import non-existing class using wrong package. App fails to compile with this error:

    /<path>/app/build/generated/source/view-inspector/armv7MultiDex/debug/<my_package>/view_inspector/ProbeProxy$android_widget_SurfaceView.java:8: error: cannot find symbol
    import android.widget.SurfaceView;
                         ^
      symbol:   class SurfaceView
      location: package android.widget
    /<path>/app/build/generated/source/view-inspector/armv7MultiDex/debug/<my_package>/view_inspector/ProbeProxy$android_widget_SurfaceView.java:9: error: cannot find symbol
    public final class ProbeProxy$android_widget_SurfaceView extends SurfaceView
                                                                     ^
      symbol: class SurfaceView
    warning: The following options were not recognized by any processor: '[kapt.kotlin.generated]'
    2 errors
    
    opened by rciurkot 1
  • i have a  ClassCastException, do you know how to solve it ?

    i have a ClassCastException, do you know how to solve it ?

    10-30 14:16:39.231 32462-32462/? E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.sun.mylab, PID: 32462 java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to com.android.internal.widget.ActionBarOverlayLayout$LayoutParams at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:448) at android.view.View.measure(View.java:17676) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5539) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2676) at android.view.View.measure(View.java:17676) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2046) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1192) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1402) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1080) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5952) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5384) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:726)

    opened by sk284525908 1
  • 0.1.4 compile failed

    0.1.4 compile failed

    D:\workspace\leying\build\generated\source\view-inspector\debug\com\levp\leying\view_inspector\ProbeProxy$android_widget_requestFocus.java Error:(8, 22) 错误: 找不到符号 符号: 类 requestFocus 位置: 程序包 android.widget Error:(9, 67) 错误: 找不到符号 符号: 类 requestFocus Error:(20, 30) 错误: 不兼容的类型: ProbeProxy$android_widget_requestFocus无法转换为View Error:(23, 7) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(27, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(31, 29) 错误: 不兼容的类型: ProbeProxy$android_widget_requestFocus无法转换为View Error:(34, 7) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(38, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(42, 25) 错误: 不兼容的类型: ProbeProxy$android_widget_requestFocus无法转换为View Error:(45, 7) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(49, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(53, 27) 错误: 不兼容的类型: ProbeProxy$android_widget_requestFocus无法转换为View Error:(56, 7) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(60, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(64, 34) 错误: 不兼容的类型: ProbeProxy$android_widget_requestFocus无法转换为View Error:(67, 7) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(71, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(75, 32) 错误: 不兼容的类型: ProbeProxy$android_widget_requestFocus无法转换为View Error:(78, 7) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(82, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus Error:(85, 5) 错误: 找不到符号 符号: 变量 super 位置: 类 ProbeProxy$android_widget_requestFocus

    opened by ihrthk 1
  • Resources$NotFoundException when logging is enabled

    Resources$NotFoundException when logging is enabled

    0:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: android.content.res.Resources$NotFoundException: Unable to find resource ID #0xc00200 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at android.content.res.Resources.getResourceName(Resources.java:3216) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at view_inspector.util.ViewUtil.getViewId(ViewUtil.java:12) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at view_inspector.util.ViewUtil.getSimpleViewId(ViewUtil.java:16) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at view_inspector.probe.util.LogUtil.logRequestLayout(LogUtil.java:116) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at view_inspector.probe.ViewInspectorInterceptor.requestLayout(ViewInspectorInterceptor.java:217) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at com.skype.android.app.view_inspector.ProbeProxy$android_widget_RelativeLayout.requestLayout(ProbeProxy$android_widget_RelativeLayout.java:64) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at android.view.View.setFlags(View.java:10641) 10-28 20:09:14.727 17090-17090/com.skype.android.app E/AndroidRuntime: at android.view.View.setVisibility(View.java:7136)

    should be enough just to wrap in try/catch as it looks like API bug https://code.google.com/p/android/issues/detail?id=55965

    opened by artemdanylenko 1
  • Manifest file path should not be hard code

    Manifest file path should not be hard code

    Hi, this project is a good idea! But the hard code File androidManifest = project.file('src/main/AndroidManifest.xml') will cause some problems when my project structure is different from AS project. For example the project migrated from eclipse. Maybe you can choose a more configurable method.

    opened by helloyingying 1
  • Problems with WebView

    Problems with WebView

    Hi.

    I get the following error when compiling

    app/build/generated/source/view-inspector/beta/debug/app/view_inspector/ProbeProxy$android_widget_WebView.java
    Error:(8, 22) error: cannot find symbol class WebView
    Error:(9, 62) error: cannot find symbol class WebView
    Error:(8, 22) error: cannot find symbol class WebView
    Error:(9, 62) error: cannot find symbol class WebView
    Error:(20, 19) error: method onMeasure in class Interceptor cannot be applied to given types;
    required: View,int,int
    found: ProbeProxy$android_widget_WebView,int,int
    reason: actual argument ProbeProxy$android_widget_WebView cannot be converted to View by method invocation conversion
    
    opened by JohNan 1
  • java.lang.VerifyError: com/appl/carouselwidget/MainActivity$AjcClosure1

    java.lang.VerifyError: com/appl/carouselwidget/MainActivity$AjcClosure1

    I got java.lang.VerifyError: com/appl/carouselwidget/MainActivity$AjcClosure1 with viewinspector enabled . I dont have this error on api 23, but i have it on api 17.

    opened by TheLester 1
  • ProbeProxy$kankan_wheel_widget_WheelView

    ProbeProxy$kankan_wheel_widget_WheelView

    import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import view_inspector.probe.Interceptor; import view_inspector.probe.ViewProxy; import kankan.wheel.widget.WheelView; public final class ProbeProxy$kankan_wheel_widget_WheelView extends WheelView implements ViewProxy {

    Error:(8, 27) 错误: 程序包kankan.wheel.widget inexistence Error:(9, 69) 错误: 找不到符号 符号: 类 WheelView

    opened by 25343215 4
  • FileNotFoundException on AndroidManifest.xml

    FileNotFoundException on AndroidManifest.xml

    If the application hasn't been built, there's no manifest file generated in build folder. We need a workaround on the "no applicationId been set" occasions.

    opened by xfumihiro 0
Owner
Fumihiro Xue (Peter Hsieh)
Fumihiro Xue (Peter Hsieh)
Simple library to generate and view PDF in Android

PDFCreatorAndroid Simple library to generate and view PDF in Android A simple library to create and view PDF with zero dependency Or native code. Add

Tej Pratap Singh 234 Dec 11, 2022
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.

Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i

simpligility 1.4k Dec 27, 2022
A simple utility to remove unused resources in your Android app to lower the size of the APK. It's based on the Android lint tool output.

android-resource-remover android-resource-remover is utility that removes unused resources reported by Android Lint from your project. The goal is to

Keepsafe 1.3k Dec 16, 2022
This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically.

#Android Localizationer This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically. T

Wesley Lin 822 Dec 8, 2022
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.

Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i

simpligility 1.4k Dec 27, 2022
Automated-build-android-app-with-github-action - CI/CD Automated Build Android App Bundle / APK / Signed With Github Action

Automated Build Android With Using Github Action Project Github Action Script Us

Faisal Amir 34 Dec 19, 2022
proguard resource for Android by wechat team

AndResGuard Read this in other languages: English, 简体中文. AndResGuard is a tooling for reducing your apk size, it works like the ProGuard for Java sour

shwenzhang 8.1k Jan 9, 2023
A super fast build tool for Android, an alternative to Instant Run

Freeline Freeline is a super fast build tool for Android and an alternative to Instant Run. Caching reusable class files and resource indices, it enab

Alibaba 5.5k Jan 2, 2023
Command-line tool to count per-package methods in Android .dex files

dex-method-counts Simple tool to output per-package method counts in an Android DEX executable grouped by package, to aid in getting under the 65,536

Mihai Parparita 2.6k Nov 25, 2022
Make Android screenshots of scrollable screen content

scrollscreenshot Make Android screenshots of scrollable screen content - brought to you by PGS Software SA This tool makes a number of screenshots, sc

PGS Software 714 Dec 7, 2022
🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

???? 中文 / ???? 日本語 / ???? English ?? Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

Yuriel Arlencloyn 846 Nov 14, 2022
[] Dissect layout traversals on Android

Probe Dissect layout traversals on Android. Features Intercept View methods. onMeasure(int, int) onLayout(boolean, int, int, int, int) draw(Canvas) an

Lucas Rocha 555 Nov 25, 2022
Android Library Finder

alfi Android Library Finder Search through thousands of android libraries that can help you scale your projects elegantly Usage Search for something a

César Ferreira 509 Dec 8, 2022
Annotation based simple API flavored with AOP to handle new Android runtime permission model

Let Annotation based simple API flavoured with AOP to handle new Android runtime permission model. If you check Google's Samples about the new permiss

Can Elmas 530 Nov 25, 2022
Combines tools for fast android app devlopment

Android - Rapid Test Driven Development Combine tools to generate most of the boilerplate code. Examples how to test different aspects of an android a

Nico Küchler 379 Nov 25, 2022
Make mosaic effect on android

ProMosaic Make mosaic for image on android. Features Select Mode Follow finger Select rectangle Effect Mode Grid color based on original image Blur Im

dawson 359 Dec 29, 2022
Remote script to create a maven compatible release of an android library (aar)

release-android-library ?? Deprecated ?? This script is deprecated in favour of: novoda/bintray-release Remote script to create a maven compatible rel

Paul Blundell 144 Dec 13, 2022