问题1:java工程解析apk的apkinfo需要用到sdk/build-tools/sdk版本号/aapt以及AXmlResourceParser.jar包,在使用aapt工具的时候报错:1Cannot run program "FxRhAssets/datas/aapt": error=13, Permission denied
出现这个问题是因为本地的aapt权限不够,命令行到本地aapt路径执行:sudo chmod 777 aapt
问题2:同上,使用aapt文件也需要适配不同来源,mac版本的aapt不能再win下使用,同理,win版本的appt不能在mac下使用
问题3:小米机器在android studio抓不到错误的情况下会报如下的错误,在本项目是因为webview.loadurl(url,header);header没有初始化完全导致,在加载的时候加了一个延迟加载.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19W/WindowAnimator: Failed to dispatch window animation state change.
android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:506)
at android.view.IWindow$Stub$Proxy.onAnimationStopped(IWindow.java:534)
at com.android.server.wm.WindowAnimator.updateWindowsLocked(WindowAnimator.java:289)
at com.android.server.wm.WindowAnimator.animateLocked(WindowAnimator.java:681)
at com.android.server.wm.WindowAnimator.access$000(WindowAnimator.java:53)
at com.android.server.wm.WindowAnimator$1.doFrame(WindowAnimator.java:123)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:672)
at android.view.Choreographer.doFrame(Choreographer.java:605)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:846)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
I/Timeline: Timeline: Activity_windows_visible id: ActivityRecord{12cbc5c u0 com.miui.home/.launcher.Launcher t5755}
问题4:实例化popupwindow后,调用方法showAtLocation()会传参来定位popupwindow显示在哪个布局之上,如果想超出该布局,setClippingEnabled(false);
问题5:WindowManager控制弹悬浮窗的时候,一般使用 这个属性:LAYOUT_PARAMS.type = WindowManager.LayoutParams.TYPE_PHONE;部分小米和魅族的机型会不显示。1
2LAYOUT_PARAMS.type = WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
加上注释编译不会报错,注意一定使用的是getContext()而不是getAaplicationContext()获取WindowManager。
问题6:拖动浮标至某处隐藏,若想浮标在上,隐藏的图标在下,隐藏图标建议WindowManager的TYPE为TYPE_APPLICATION_PANEL,浮标建议WindowManager的Type为LAST_APPLICATION_WINDOW,如果位置特殊需要考虑虚拟键盘对位置的影响。
问题7:WebView的弹窗有时候内嵌页自己的弹窗会显示不正常,首先可以断定的是因为主题style的样式问题导致,如果可以选择修改样式,就修改样式。否则的话重载onJsAlert()方法。1
2
3
4
5
6
7
8public boolean (WebView view, String url, String message, JsResult result){
if (!TextUtils.isEmpty(message)) {
ToastUtil.getInstance(mContext).makeText(message);
}
result.cancel();//不添加可能导致界面卡顿
return true;
}
问题8:SurfaceView 只能创建一个正方形的自定义View,不能创建一个全屏的长方形的自定义View,使用SurfaceView在其添加传统控件的时候,如果用setZOrderOnTop(true),SurfaceView会置于最顶层遮盖住原生控件,setZOrderOnTop(true)之后调用了setZOrderMediaOverlay(true),可能会解决遮罩问题。否则建议使用原生View来解决.。
问题9: 经常使用到自定义view组合方式解耦,使用自定义view的时候一定要使用构造方法的context,不要使用getContext(),否则界面不会显示,也不会报错,写快了经常用getContext()
问题10:创建悬浮窗报错,Unable to add window – token null is not for an application,自定义悬浮窗一般不会出问题,初始化的windowmanager的方法要保证使用activity:1WindowManager windowManager = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
问题11: TextView.setText(Html.fromHtml(text))与实际的HTML不符合,可能是不支持的标签。
问题12: JS 与 WebView互相调用不成功,可能JS方法前是否要通过Window属性来进行调用
问题13:Error inflating xml。导致这个问题除了构造方法和包名类名路径的完整,也有可能是你自定义view里面某一层的自定义view的包名类名路径的完整性不对。