Android Studio开发中常见问题及解决(一)

来源:互联网 发布:秦美人翅膀进阶数据 编辑:程序博客网 时间:2024/06/05 14:16

1、Error:Error: com.android.ide.common.process.ProcessException:    org.gradle.process.internal.ExecException: Process ‘command ‘/Users/billy/Library/Android/sdk/build-tools/21.1.2/aapt‘‘ finished with non-zero exit value 42
这个问题,找了很多资料,虽然解决了,但是还是不知道为什么,问题的主要原因是因为资源文件解析错误。
常见的原因有
  1.资源文件名冲突
    这个换个文件名就可以了
  2.引用包重复
    Android studio 下面有了v4包或者v7包,这个时候在libs下又添加了一次包,就会报这个错误,删掉Libs下重复的包就行了。
  3.文件名显示的格式与文件本身的格式不对应
    这个比较难发现,重新换个正确的文件就可以了。



2、android { useLibrary 'org.apache.http.legacy' }
大概意思就是,Android 6.0不再支持 Apache HTTP client。 请使用HttpURLConnection 代替。想要继续使用 Apache HTTP client 的,请添加如上代码。
//android 6.0继续使用HttpClient需要添加下面代码
useLibrary 'org.apache.http.legacy'


3、Hybird APP移动App并非mobile web页面。这是新手最容易混淆的地方。mobile web的文件存放在web服务器上,而移动App的文件存放在手机本地,编写移动App的html、js、css文件被打包到ipa或apk等原生安装包,在手机客户端运行。
用个更形象的列子,web app仍然是b/s结构,而移动App是c/s结构甚至是完全脱线的单机应用。
这或许有点超过一些人的想象,他们认为HTML就是web、就是b/s,事实上javascript早已可通过nodejs等技术运行在服务器侧,而在HBuilder的移动App里,HTML、JS等文件也可以被打包成原生安装包。


4、使用WebView, WebChromeClient和WebViewClient加载网页
(1)WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:
onLoadResource   
onPageStart   
onPageFinish   
onReceiveError   
onReceivedHttpAuthRequest
(2)WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等 :
onCloseWindow(关闭WebView) 
onCreateWindow() 
onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出) 
onJsPrompt 
onJsConfirm 
onProgressChanged 
onReceivedIcon 
onReceivedTitle


5、java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread.
android4.2以下版本不会出现此类问题,但是 Android 4.2 JELLY_BEAN(API17)开始,android就针对webview中执行js代码和原生代码之间交互做了一些改动。只要把js调用的方法call()和 showContacts()都放在同一个handler.post线程执行就没有问题了。


6、webview.addjavascriptinterface 
[INFO:CONSOLE(41)] "Uncaught TypeError: Object [object Object] has no method 'startActivity'"
在某些最新机型上(4.2及以上),JS回调好像不起做用了。打开log,提示Uncaught TypeError: Object [object Object] has no method 'xxx' 。其中xxx就是web页面中写的js方法名。
仔细研究,发现是因为Android4.2及以上版本对于js的支持方式有改变导致(又是一起新版本导致的不兼容事件,最近这种事情越来越多了)。具体的,请看下面这篇文章,写的很详细了,没有必要再写一遍了,请直接参考吧。http://blog.csdn.net/zgjxwl/article/details/9627685


7、取消Android Studio启动时自动打开上次关闭的项目
File-->Settings-->System Settings-->Reopen last project on startup


8、properties文件路径
netconfig.properties放到res/raw/下 
properties.load(getResources().openRawResource(R.raw.yourPropertiesFileName));


9、关键版本设置
CompileSdkVersion SDK的版本号
buildeToolVersion 构建工具版本
targetSdkVersion 代表这个版本已经测试过了


10、AndroidStudio删除RecentProjects(最近项目)
本来是很简单的问题,但是AndroidStudio没设置删除按钮,有些项目已经不用了,但是还是显示在最近项目中,有强迫症的就很难受了。
不废话了,把鼠标放到你要删除的项目上,按下BackSpace键,再点击确定就能删除这个最近项目了。
0 0
原创粉丝点击