android开发经典难题,Android开发问题集锦3

问题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的包名类名路径的完整性不对。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值