问题一: 06-09 18:35:26.044: A/libc(17098): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 17098 (d.message.push1)
显示的为
06-09 18:35:35.714: E/AndroidRuntime(17841): Caused by: java.lang.NullPointerException
具体到代码位置,显示就是空指针
实际上这个错误和读取的位置没有什么太大的关系。是由于我在另一个Activity里面调用到这个方法才出错的。
调用出错的原因就是图片的不匹配,在配置文件***.xml里面
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/tree"
>
只需要把background的图片改掉,或者删掉即可
问题二: listview里面显示的乱序问题
Adapter里面的getview函数如图
public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = messaInflater.inflate(R.layout.messageitem,null); holder = new ViewHolder(); holder.title = (TextView) convertView.findViewById(R.id.ItemTitle); holder.text = (TextView) convertView.findViewById(R.id.itemText); convertView.setTag(holder); } else{ holder = (ViewHolder)convertView.getTag(); } int num; num=position+1; holder.title.setText(mainChannel.messinfo.get(position).gettimelist()); holder.text.setText(mainChannel.messinfo.get(position).getmeslist()+" "+position); Log.v("message---",mainChannel.messinfo.get(position).getmeslist()); return convertView; }
这里的holder并没有设置成静态的,所以在listview里面增加条目,或者是在下滑的过程中会出现条目的乱序问题。
解决办法:
把holder对象的控件单独在静态类里面声明就可以了。
static class ViewHolder { TextView title,text; }
问题三:Studio中jar包重复问题,在写发起网络请求的HTTP请求方法时
出现报错:Duplicate files copied in APK META-INF/LICENSE.txt
我导入的两个HTTP的jar包是httpclient和httpcore.
解决一:网上找到相关资料在build.gradle文件中加入
packagingOptions {
exclude
'META-INF/LICENSE.txt'
}
并且在Mainfest.xml文件中插入
<uses-permission android:name="android.permission.INTERNET" />clean,rebuild之后仍旧没有任何效果
解决二:对比之前的发起请求工程,这两个包在android 自带的sdk中就有,因为之前运行的环境是API23,google刚好在这个版本中把HTTP的包给删除了。
所以,只需要改成API19的平台环境,就不需要自己导入jar包了。
补充:MAC 环境下,把jar包添加进去是在project structure里面,就在设置图标的旁边(刚开始找了半天)
快捷键 command加; (和eclipse位置不同)
问题四: 在adt工程转变成studio工程,遇到配置错误。 在使用百度云推送的过程中,采用云推送的demo,错误代码 10101
解决办法:
1. 修改AndroidManifest.xml文件中的API key 是否与控制台的一致。
2. 导入jar包 和so 文件,jar包导入如问题三
so 文件导入 在build.gradle文件中的android{}里面,加入一段代码,即可
task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") { destinationDir file("$projectDir/libs") baseName "Native_Libs2" extension "jar" from fileTree(dir: "libs", include: "**/*.so") into "lib" } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn(nativeLibsToJar) }
3. 网络原因:手机推送的时候网络有点慢,所以要稍微等一会儿
问题五:工程从svn下载后编译正常没问题,但是运行报错。
A problem was found with the configuration of task ':app:packageONLINEDebug'.
res/resources-ONLINE-debug-stripped.ap_' specified for property 'resourceFile' does not exist.
解决办法:
buildTypes { debug { zipAlignEnabled true shrinkResources true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.debug } release { zipAlignEnabled true shrinkResources true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release }
代码中的debug里面的 zipAlignEnabled和shrinkResources 分别设置成false即可。
问题六: Execution failed for task ‘:transformNative_libsWithStripDebugSymbolForDebug’.
java.lang.NullPointerException(no error message)
ndk.dir=/Users/apple/Library/Android/sdk/ndk-bundle