在eclipse连接手机中怎样成功连接Android手机

android真机连接eclipse的方法 - 开发技巧 - ab蓝学网
当前位置: &
android真机连接eclipse的方法
简介:在android开发中,如想用真机连接eclipse或MYeclipse,方法是选Manual,eclipse下选择runConfiguration选择target选下面的Manual就会弹出选择是否...
在android开发中,如想用真机连接eclipse或MYeclipse&,方法是选Manual,eclipse 下 选择 run Configuration& 选择 target 选下面的Manual 就会弹出选择是否用手机调试&
手机上的usb 调试要打开&
手机 的设置 ,应用程序设置,开发&
设置---应用程序---开发----usb调试
转载注明本文地址:
如果觉得《android真机连接eclipse的方法》不错,请把本站告诉您身边的朋友!
正在加载 android真机连接eclipse的方法 评论...&&国之画&&&& &&&&
版权所有 京ICP备号-2
迷上了代码!二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
共同讨论图像处理相关算法及其应用!
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
java SDK & eclipse for java(这个可以用ADT里面集成的,这个可以避免一些莫名其妙的问题;adt-bundle-windows-x86-) ADT插件 CDT插件 cygwin opencv-android-2.4.32 环境搭建 2.1 Java SDK安装
java SDK &;按照安装步骤一步步执行;设置环境变量:
2.2 Android SDK安装:
运行 android –h 如果有类似以下的输出,表明安装成功:
2.3ADT插件安装:ADT是专门给eclipse开发android的插件
创建android AVD模拟器:android AVD模拟器是一个android的虚拟机用来在pc机上调试android程序用的!
ru如果找不到AVD可以在elicpse中window-&customize perspective-&command groups availability菜单中勾选包含android的菜单选项;2.4安装Android NDK:1.下载Android NDK 我下载的是 r8版本 地址就不给除了 自己google吧2.解压到任意目录 我解压的目录是D:\Program Files\Android\adt-bundle-windows-x86- 下3.完成2.5安装Cygwin: Cygwin 是一个将c++代码编译成os动态库的东西, 而os库就可以给java调用了这里可能你有疑惑 opencv for android 不是有java的API了么 怎么还要用c++嗯 只能说JAVA的API还不是很全面 有些东西还是会用到c++的API才行所以这个是必须的还有一些有说NDK r8 不需要Cygwin了 但是我不知道怎么弄 我目前还是使用这个的由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境,下载地址:下载后是个setup.exe文件,使用过程如下:第一步:运行setup程序,第一步图略,直接点击Next进入下一步。第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。第四步:设置本地包暂存路径暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.%2f这样格式。第五步:设置网络连接方式第六步:选择下载站点地址起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。第七步:等待加载安装项载入,选择安装项我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。第八步:等待下载完成下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约750M,下载完成后会自动安装到上文设置的安装目录。提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:make -v和,gcc -v如果检测成功,会有make和gcc相关版本信息打印出来,如下图。可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\&你的用户名&\.bash_profile 文件中最后添加环境变量NDKROOT=/cygdrive/e/Andriod/develop/android-ndk-r8export NDKROOT(这个里面要注意,不要有换行)其中NDK=/cygdrive/&你的盘符&/&android ndk 目录& ,"NDK"这个名字随便起,以后经常用不要太长。
导入NDK的hello-jni示例到Eclipse中1.在Eclipse中新建一个Android工程HelloJni。在Create Android Project时勾选“Create project from existing source”,Location中填E:\android\android-ndk-r8\samples\hello-jni2.直接以Android Aplication运行com.example.hellojni.HelloJni项目。要先有.so文件才能运行起来。 os放在工程根目录下
opecnv for android 开发环境搭建:参考1:参考2:opencv for android SDK 安装:进入官网(http://opencv.org/)下载OpenCV4Android并解压,其目录结构如下:其中,sdk目录即是我们开发opencv所需要的类库;samples目录中存放着若干opencv应用示例(包括人脸检测等),可为我们进行android下的opencv开发提供参考;doc目录为opencv类库的使用说明及api文档等;而apk目录则存放着对应于各内核版本的OpenCV_2.4.3.2_Manager_2.4应用安装包。此应用用来管理手机设备中的opencv类库,在运行opencv应用之前,必须确保手机中已经安装了OpenCV_2.4.3.2_Manager_2.4_*.apk,否则opencv应用将会因为无法加载opencv类库而无法运行。2.2 将SDK引入工作空间-----(只要库文件就好了,其他的samples可以不要)&&&&&&& (1) 选择一个路径,新建文件夹做为工作空间(我在E盘根目录下新建workspace目录来做为工作空间);&&&&&&& (2) 将OpenCV-2.4.3.2-android-sdk中的sdk目录copy至工作空间,并将其更名为OpenCV-SDK(是否更改名称无所谓,这是我个人习惯而已);&&&&&&& (3) 以新建的目录为工作空间,打开eclipse;&&&&&&& (4) 将OpenCV-SDK引入到工作空间中,如下图所示:
3使用java API开发android 应用程序:创建工程&&&&&&& (1) 打开eclipse,创建android应用工程TestOpenCV;&&&&&&& (2) 将测试图像lena.jpg添加到资源目录res/drawable-hdpi中;&&&&&&& (3) 在Package Explorer中选择项目TestOpenCV,单击右键在弹出菜单中选择Properties,然后在弹出的Properties窗口中左侧选择Android,然后点击右下方的Add按钮,选择OpenCV Library 2.4.3并点击OK,操作完成后,会将OpenCV类库添加到GrayProcess的Android Dependencies中,如下图所示:工程代码:(1) 在res-&values中修改字符串资源文件:strings.xml&resources&
&string name="app_name"&TestOpenCV&/string&&/resources&(2) 布局文件:main.xml(如果没有自动生成,则在layout中自己添加一个,右键点击layout-&New-&File)&?xml version="1.0" encoding="utf-8"?& &LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
&Button android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/btnNDK"
android:text="使用C++ OpenCV进行处理" /&
&Button android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/btnRestore"
android:text="还原" /&
&ImageView android:id="@+id/ImageView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" /&
&/LinearLayout& (3) 函数接口文件LibImgFun.java;关键字native表明,此方法是由本地代码来完成package com.testopencv.public class LibImgFun { static {
System.loadLibrary("ImgFun");
* @param width the current view width
* @param height the current view height
*/ public static native int[] ImgFun(int[] buf, int w, int h);
(3) 主函数文件HaveImgFun.javapackage com.testopencv.
import android.app.A
import android.graphics.B
import android.graphics.Bitmap.C
import android.graphics.drawable.BitmapD
import android.os.B
import android.widget.B
import android.view.V
import android.widget.ImageV
public class HaveImgFun extends Activity {
/** Called when the activity is first created. */
ImageView imgV
Button btnNDK, btnR
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("使用NDK转换灰度图");
btnRestore=(Button)this.findViewById(R.id.btnRestore);
btnRestore.setOnClickListener(new ClickEvent());
btnNDK=(Button)this.findViewById(R.id.btnNDK);
btnNDK.setOnClickListener(new ClickEvent());
imgView=(ImageView)this.findViewById(R.id.ImageView01);
Bitmap img=((BitmapDrawable) getResources().getDrawable(R.drawable.lena)).getBitmap();
imgView.setImageBitmap(img);
class ClickEvent implements View.OnClickListener{
public void onClick(View v){
if(v == btnNDK)
long current=System.currentTimeMillis();
Bitmap img1=((BitmapDrawable) getResources().getDrawable(R.drawable.lena)).getBitmap();
int w=img1.getWidth(),h=img1.getHeight();
int[] pix = new int[w * h];
img1.getPixels(pix, 0, w, 0, 0, w, h);
//自己的C++函数接口调用
int[] resultInt=LibImgFun.ImgFun(pix, w, h);
Bitmap resultImg=Bitmap.createBitmap(w, h, Config.RGB_565); &
//图像显示方式---&
resultImg.setPixels(resultInt, 0, w, 0, 0,w, h);
long performance=System.currentTimeMillis()-
imgView.setImageBitmap(resultImg);
HaveImgFun.this.setTitle("w:"+String.valueOf(img1.getWidth())+",h:"+String.valueOf(img1.getHeight())+" NDK耗时 "+String.valueOf(performance)+" 毫秒");
else if(v == btnRestore)
Bitmap img2=((BitmapDrawable) getResources().getDrawable(R.drawable.lena)).getBitmap();
imgView.setImageBitmap(img2);
HaveImgFun.this.setTitle("使用OpenCV进行图像处理");
} } 由于要自己编译C++代码,因此需要在JNI的支持;编写JNI及C相关代码&&&&&&&&在项目中新建目录jni,在jni目录中分别添加文件Android.mk,Application.mk,ImageProc.h,ImageProc.cpp,这四个文件的内容分别如下所示。&&&&&&& (1) Android.mkLOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include /cygdrive/d/OpenCV-2.4.3-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_C_INCLUDES:= /cygdrive/d/OpenCV-2.4.3-android-sdk/sdk/native/jni/includeLOCAL_MODULE
LOCAL_SRC_FILES := ImgFun.cpp
include $(BUILD_SHARED_LIBRARY) 代码说明:第一行:指明当前编译路径;第二行:清空变量;第三行:将OpenCV类库中的编译文件包含进来,如此一来在我们的工程中即可使用OpenCV类库;第四行:指定需要编译的C++源文件;第五行:指定编译生成的类库名称;第六行:调用命令将源文件编译为静态库。注:第三行指定的路径很关键,当opencv类库与工程路径相关位置发生改变时,此路径也要随之改变。(2) Application.mk(配置文件)APP_STL:=gnustl_static
APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI:=armeabi armeabi-v7a (3)ImgFun.cpp#include &jni.h&#include &stdio.h&#include &stdlib.h&#include &opencv2/opencv.hpp&extern "C" { JNIEXPORT jintArray JNICALL Java_com_testopencv_haveimgfun_LibImgFun_ImgFun(
JNIEnv* env, jobject obj, jintArray buf, int w, int h); JNIEXPORT jintArray JNICALL Java_com_testopencv_haveimgfun_LibImgFun_ImgFun(
JNIEnv* env, jobject obj, jintArray buf, int w, int h){
cbuf = env-&GetIntArrayElements(buf, false);
if(cbuf == NULL)
Mat myimg(h, w, CV_8UC4, (unsigned char*)cbuf);
uchar* ptr = myimg.ptr(0);
for(int i = 0; i & w*h; i ++)
//myimg.row(j).setTo(Scalar(0,0,0,0));
int grayScale = (int)(ptr[4*i+2]*0.299 + ptr[4*i+1]*0.587 + ptr[4*i+0]*0.114);
ptr[4*i+1] = grayS
ptr[4*i+2] = grayS
ptr[4*i+0] = grayS
int size=w *
jintArray result = env-&NewIntArray(size);
env-&SetIntArrayRegion(result, 0, size, cbuf);
env-&ReleaseIntArrayElements(buf, cbuf, 0);
}}提供的函数仅仅是做灰度变换,其实在里面可以直接调用opencv提供的函数实现;可以利用opencv4java的工具直接使用(4)编译c++本地文件编译有两种方式,比较而言,单独编译比较好管理一点;.手动使用Cygwin 生成os 然后运行; 先跳到工程目录,然后输入$NDKROOT/ndk-build即可,会再libs中产生相关联的so文件(5)在编译完成后,还需要添加相关的opencv支持库到libs中,& libopencv_java.so;针对不同的平台,在opencv4android-&native/libs中从armeabi或者armeabi-v7a中拷贝6)大功告成:直接run;如果连接到真机会直接跳转到相关选择界面,让你选择是否用真机调试;否则会跳到你最开始设定的虚拟机上运行&界面如下:
阅读(3903)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Android+OpenCV配置步骤',
blogAbstract:'1.环境软件需求\tWin7 32bit系统(我自己的是)\tjava SDK &
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 eclipse无线连接手机 的文章

 

随机推荐