android_error

问题:创建虚拟设备界面中,Target下拉框里面无选择项

原因:没有安装AVD

解决:下载android sdk,运行SDK Manage , 选择SDK platform Android 4.0.3 API,install



问题:无法启动AVD(虚拟设备)

原因:我修改注册表更改mydocument路径了,导致eclipse犯傻

解决:将E:\Document\.android目录拷贝到C:\Documents and Settings\Administrator



问题:SDK里面没有sample源码

原因:下载SDK的时候没有选择sample

解决:运行SDK Manage ,选择Sample for SDK API 15点install



问题:读写SD卡失败

原因:没有权限

解决:修改androidManifest.xml

在行<uses-sdk android:minSdkVersion="15" />后增加

  <!-- 在SDCard中创建与删除文件权限 -->

 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

 <!-- 往SDCard写入数据权限 -->

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>





问题:ndk和java都不能使用socket

原因:没有网络权限

解决:修改修改androidManifest.xml ,增加<uses-permission android:name="android.permission.INTERNET" />





问题:无法打开jni目录里面的cpp文件

原因:没有安装adt插件

解决:下载adt安装



问题:如何使用虚拟机里面的sd卡

解决:cd D:\Java\android-sdk-windows-r10\platform-tools 运行adb

从sd卡拉数据到本地硬盘: adb pull /mnt/sdcard/file.txt C:\

将硬盘文件上传到sd卡: adb push c:\file.txt /mnt/sdcard/

运行shell 可ls 查看文件: adb shell



问题:操作失败提示: more than one device and emulator

原因:你连接了多个设备或虚拟设备

解决:

1,列出所有设备和连接IP运行:adb devices

2,关闭设备连接:adb disconnect 192.168.1.123

3,或指定设备来操作:adb -s emulator-5554 shell



问题:如何安装和重装你的android程序

解决:

1,安装:adb install Demo.apk

2,重新安装:adb install -r Demo.apk



问题:在JNI里面用Logcat

1, cpp文件中:

#include <android/log.h>

#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,__FILE__,__VA_ARGS__)

代码调用LOGD("hellow");

2,android.mk文件中:

LOCAL_SRC_FILES= 行下面加

LOCAL_LDLIBS    := -llog

 



问题:如何在线程里面用 JNIEnv *env

JNIEnv *env指针不可为多个线程共用,但是java虚拟机的JavaVM指针是整个jvm公用的,我们可以通过JavaVM来得到当前线程的JNIEnv指针.



于是,在第一个线程A中调用:

JavaVM* gs_jvm;

env->GetJavaVM(&gs_jvm);

来获取JavaVM指针.获取了这个指针后,将该JavaVM指针gs_jvm作为全局变量保存起来。在另一个线程B里,调用JNIEnv *env;

JNIEnv *env;

gs_jvm->AttachCurrentThread((void **)&env, NULL);

这里就获得了B这个线程在jvm中的JNIEnv指针env.

jobject可以这样保存

jobject g_obj = (env)->NewGlobalRef(j);

你可能感兴趣的:(android)