Android在eclipse下出现Failed to find an AVD compatible with target 'Android 1.5'
cannot find symbol hbase编译
cannot find symbol hbase编译
如果在编译HBase 相关代码时遇到"cannot find symbol" 错误,通常意味着编译器无法找到某个符号(例如类、方法或变量)。
这可能是由于缺少相关的依赖库或JAR 文件,或者是由于没有正确设置类路径导致的。
以下是一些建议,希望能帮助你解决这个问题:
1. 检查依赖库:
-确保你的项目中包含了HBase 相关的JAR 文件。
这些JAR 文件通常包含在HBase 的发行版中。
你可以从HBase 官方网站下载相应版本的二进制发行版,并从中提取所需的JAR 文件。
2. 设置类路径:
-确保在编译和运行时设置了正确的类路径,以包含HBase JAR 文件。
可以使用`-cp` 或`-classpath` 选项来设置类路径。
例如:
```bash
javac -cp /path/to/hbase/lib/* YourHBaseCode.java
```
这里的`/path/to/hbase/lib/*` 应该是你HBase lib 目录下的所有JAR 文件。
3. 检查代码中的引用:
-确保你的代码中使用的所有HBase 类、方法和变量都是正确的,并且它们确实存在于HBase 的库中。
可能需要检查HBase 的文档以确保你的代码正确引用了HBase 的API。
4. 使用构建工具:
-如果你使用构建工具(如Maven 或Gradle),确保在项目配置文件中包含了正确的HBase 依赖项。
如果问题仍然存在,你可能需要提供更多的信息,例如完整的错误消息、你的代码片段等,以便更详细地诊断问题。
eclipse出现错误的解决方法
1.Android导入一个工程时提示Invalid project description的解决方法2.Unable to execute dex: java.nio.BufferOverflowException.解决办法1.Android导入一个工程时提示Invalid project description的解决方法网上搜了下说是:其实这是基于Eclipse IDE导入工程时遇到描述文件版本不对都会存在这种问题,而这个问题在Android开发中其实是由于android manifest.xml文件版本不同造成的。
具体的我对Eclipse不太熟悉,不过经过一番查询和试验我发现造成这样的错误的原因是:因为我把要导入的工程文件夹放到了Eclipse 的Android默认目录下,而当Eclipse导入工程时候,在默认目录下要创建新文件加(或者拷贝)。
这时,创建的文件夹名与被导入的文件夹名在同一目录下,而且重复,出现如此错误(以上原因是个人简单试验后臆测,没有可靠证据哈。
)。
所以,解决的办法就是,把将要导入的文件夹放到其他地方。
比如说我的Eclipse Android默认工作目录是E:/AndroidWorkspace;将要导入的工程文件夹是Hello。
如果我们把Hello直接放到E:/AndroidWorkspace目录下,再导入,就会出现上述错误!!我们改变下目录即可,比如放到E:/AndroidCode目录下!!2.Unable to execute dex: java.nio.BufferOverflowException.解决办法右键选择项目,选择Build Path——Configure Build Path...,然后在弹出框中选择:Java Build Path——Libraries,最后将Android Dependencies和Android Private Libraries移除(remove)掉即可。
AndroidStudio工具使用中遇到的问题、
AndroidStudio⼯具使⽤中遇到的问题、2021-01-30 Android Studio 4.1.2Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method google() for arguments [] on repository container.好像不是⽀持google()语法,把根⽬录中的build.gradle⽂件中的buildscript {repositories {jcenter()//google()}dependencies {classpath 'com.android.tools.build:gradle:3.0.0'}}allprojects {repositories {jcenter()//google()}}google()注释掉。
这个是之前注解了google(),它⼜需要google的资源,加⼀个阿⾥的地址:maven{url "https:///repository/google"} buildscript {repositories {maven{url "https:///repository/google"}jcenter()//google()}dependencies {classpath 'com.android.tools.build:gradle:3.0.0'}}这个是说我的⼯程在所在⽬录路径有中⽂字符,把我的⼯程移到⾮中⽂⽬录就好。
上午 8:40 Gradle sync failed: Minimum supported Gradle version is 4.1. Current version is 3.3.Please fix the project's Gradle settings.gradle的版本太低,升级⼀下就好了。
eclipse下安装adt
Eclipse搭建Android开发环境之ADT安装常见错误及解决方法本来要开始学习Android开发,上面发下来同一套搭载Android工具,有些人直接按步就班,装上就行,有些人怎么也装不上,其中就包括我,没办法,自己上网搜方法呗,网上方法到不少,但确没有适合我得,后来自己查资料,琢磨的多了,也就有点头绪了!废话不多说了,首先是要用的工具:1.SDK:installer_r20.0.3-windows.exe2.ADT:ADT_Plugin_20_0_3.rar以上两个工具可在官网:/sdk/index.html轻松下载到,但是版本号一定要一致,不然后来还得额外升级版本3.eclipse3.6.2 (这个是我个人用得版本,但如果要安装这个ADT_Plugin_20_0_3.rar版本ADT,就要使用3.6.2或以上得eclipse版本),JDK安装就不赘述了,eclipse随便百度一下,各种版本都有下载!工具准备好之后,下面只说SDK和ADT的安装:(1)SDK很容易安装,只要双击.exe文件,然后next就可以;安装完之后打开文件所在目录,双击SDK Manager.exe文件,运行后如下图,建议将Android1.5到Android4.1.2全选,点击右下角Install n Packages按钮,安装SDK 需要花很长很长...时间,我的网速坑爹得慢,搞了一下午!完成之后,在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为E:\Program Files (x86)\Android\android-sdk\tools)。
“确定”后,重新启动计算机。
重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
也可省略,一般都没问题!运行android –h 如果有类似以下的输出,表明安装成功:(2)安装Android ADT(eclipse插件)下面令我最头疼的来了,我试了不下四五十次,开始是因为版本不吻合问题安装不上,后来还是在Android官方主页看了安装方法之后,下载了这套安装工具,而且ADT压缩包没安装一次不成功,下次安装就要换一个路径,可谓苦不堪言!下面开始说安装方法:1)运行eclipse界面,选择菜单栏Help > Install New Software2)弹出对话框点击 Add按钮,出现如下界面要求输入Name和Location:Name自己随便取,Location输入/android/eclipse或https:///android/eclipse/如下图所示:注:这是最坑爹得方法,除非你能翻墙,不然大陆朋友根本连不上。
Android常用adb命令总结
Android常⽤adb命令总结针对移动端 Android 的测试, adb 命令是很重要的⼀个点,必须将常⽤的 adb 命令熟记于⼼,将会为 Android 测试带来很⼤的⽅便,其中很多命令将会⽤于⾃动化测试的脚本当中。
Android Debug Bridgeadb 其实就是Android Debug Bridge, Android 调试桥的缩写,adb 是⼀个C/S架构的命令⾏⼯具,主要由 3 部分组成:运⾏在 PC 端的 Client : 可以通过它对 Android 应⽤进⾏安装、卸载及调试Eclipse 中的 ADT、SDK Tools ⽬录下的 DDMS、Monitor 等⼯具,都是同样地⽤到了 adb 的功能来与 Android 设备进⾏交互。
PC 端的⼿机助⼿,诸如 360 ⼿机助⼿、豌⾖荚、应⽤宝等,其除了安装第三⽅应⽤⽅便,其他的功能,基本上都可以通过 adb 命令去完成,这⾥建议测试⼈员尽量不要在电脑上安装这类⼿机助⼿,因为其⾃带的 adb 程序可能会与 Android SDK下的 adb 程序产⽣冲突,5037端⼝被占⽤,导致使⽤ adb 命令时⽆法连接到设备运⾏在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程运⾏在 Android 设备上的 adb 后台进程执⾏adb shell ps | grep adbd,可以找到该后台进程,windows 请使⽤findstr替代 grep[xuxu:~]$ adb shell ps | grep adbdroot 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd这⾥注意⼀个地⽅,就是 adb 使⽤的端⼝号,5037,有必要记⼀下接下来我将 adb 命令分为三部分进⾏介绍,adb 命令、adb shell 命令、linux 命令adb 命令在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其⼀般的格式为:adb [-e | -d | -s <设备序列号>] <⼦命令>在配好环境变量的前提下,在命令窗⼝当中输⼊ adb help 或者直接输⼊ adb ,将会列出所有的选项说明及⼦命令。
unabletofindasuitableoutputfori一种情况的解决办法
unabletofindasuitableoutputfori⼀种情况的解决办法问题的可能原因:可能是传递给avformat_alloc_output_context2()函数的filename参数不对,并不是⼀个正常的字符串。
问题解决办法:检查avformat_alloc_output_context2()的输⼊参数是否都合理。
问题历程:在使⽤QT+ffmpeg库做录屏软件时,需要打开⼀个output⽂件,⽤来保录制的视频。
在打开输出⽂件时主要是使⽤avformat_alloc_output_context2()函数,这个函数需要给他传递输出格式名,以及输出⽂件名称,这些类型都是const char*。
⼀般⽽⾔,我们可能是通过参数化来传递给输出⽂件名称,所以可能存在需要将QString类型转换层const char*的操作,QT中⽀持这种操作,⼀般可以通过 para_filename.toStdString().c_str()来将QString类型的para_filename转换成const char* 类型。
逻辑上似乎都合理,但是偶尔情况下,可能会发⽣如标题所⽰的问题。
很是奇怪,错误⽇志提⽰我们output怎么变成了‘i’,通过输出⽇志发现para_filename.toStdString().c_str()的转换并⾮按照我们的逻辑来的,因为.c_str()调⽤对象是⼀个由toStdString()⽣成的临时对象,很有可能在c_str()调⽤前已经被析构释放了,导致最后转换的结果并⾮我们所期望的。
所以解决办法就是分开成两步:(1).定义std::string类型变量,并先由QString->std::string,(2).定义const char*类型变量,并从std::string->const char*。
通过上述两个步骤就可保证字符串类型的顺利及可靠的转换,传递给avformat_alloc_output_context2()函数的参数不再是错误的了。
Unable to find a javac compiler的解决
首先,你必需检查一下自己的环境变量是不是正确;这个我想大家都会,只是有时候会忘了定一些,不过检查一下看看就行了。
其次:在JDK的lib目录下有一个tools.jar文件,你把它拷到Tomcat安装目录下的common\lib目录下,应该就可以了,你试试吧
最后:如果不可以,在打开tomcat的configue tomcatg ,找到java,在java optioons里填上:-Djava.home=C:\Program Files\Java\jdk1.5.0_04;就好了。
最终安装了j2sdk-1_4_2_08-windows-i586-p.exe:
把原来的j2sdk卸载,安装了最新的j2sdk-1_4_2_08-windows-i586-p.exe。并没有设置什么AXIS_HOME、AXIS_LIB等系统变量,只要把这个版本的D:\j2sdk1.4.2_08\lib\Tools.jar复制到D:\Tomcat 5.0\common\lib下,重启动Tomcat,就可以浏览Axis了。
看来真正起作用的不是在我的电脑=》。。。=》环境变量中设置,是在Tomcat 中设置。
蒯正建 KennyKuai@ 欢迎交流!
(2)恩,再重装一下TOMCAT就好了,我也遇到跟楼主一样的情况。
(3)我也遇到了这样的问题.
跟踪了一下, 原来是java.home指到$JAVA_HOME/jre下了.
我以前用的是j2sdk1.4.2,tomcat 5.030,现在换成j2sdk1.5,tomcat没有换,总是提示我说Unable to find a javac compiler,找了好长时间,才把这个问题解决,现在把这个问题告诉大家,网上的有好多人说的是错的。
运行于Android上的Android Java IDE简要开发教程
AIDE (Android Java IDE) TutorialAIDE是一帮德国人开发的Android设备环境下开发程序的集成环境。
AIDE的官网应该是,但似乎被**了,总之我是无法访问。
AIDE提供了一个极简易、但功能丝毫不弱的集成开发环境,从代码编写,一直到APK编译,流水作业,如PC上一样方便。
产生的代码结构,与Eclipse是一致的。
Eclipse里面的项目直接导入即可由AIDE接管过来继续开发。
这篇教程,来自老外,只在必要处进行了一点点简译。
编译的文字,均用红色字标示。
Now that I have said a little bit about itshould we get into it?This should be the first screen you see as soon as you install it, they know you want to get straight in and check it out, no mucking around, so lets do hello Android on this eh?AIDE安装完毕,界面如图。
示例仍然从老套的Hello World开始。
First we want to write in our appications name, write this in under "App Name:" we will call this application"HellpAndroid" (note that there is no space, itappears to be that you cannot have a space inthe name, you can change that by going res >values > strings.xml and changing the stringapp_name注意:AIDE似乎不能在程序名称项上包含空格,你可以到res>values>string.xml资源文件里去修改).Also we need to put in our package name, forthis we have a certain simple format to writeit in, <country code>.<developersname>.<application name> so for examplefor me, I live in New Zealand which has thecountry code "nz" and my developers name is"SmartLemon" but in the package I have it asmy original name "TheSmartLemon" so mypackage name will be"nz.thesmartlemon.helloandroid". Post in thecomment below what yours is if you like, seewhat variations we get.包名可以随便给一个。
手机取证中Android手机无法识别情形的应对
-205-2016年第10期 /经验交流(上接第204页)[J].艺术评论,2015(3).[2]康定斯基.点线面[M].重庆:重庆大学出版社,2011.[3]李颖.平面构成基础教学初探——谈平面构成的要素点、线、面[N].苏州大学学报:工科版,2002.[4]陆丹,农家.设计色彩[M].北京:清华大学出版社,2011.[5]董禹辰.综合材料在装饰画中的表现形式研究[D].[硕士学位论文]哈尔滨:哈尔滨理工大学,2015.作者简介:覃弦,职务:教师。
(作者单位:广州华立科技职业学院)附图:综合材料装饰画作品《瑰宝》(上接第203页)三、施工过程中需要注意事项想要在公路施工中发挥强夯地基处理技术的额最大功效,需要对以下三方面问题加强重视。
一是越重的重锤就会产生越大的落距,所有在强夯中具有产生越强的能力,这个时候夯击的次数就能够相应的减少。
不过需要根据实际情况,对土体类型和加固深度进行充分考虑,对单夯击能进行确定,选择合理的重锤,将落距控制在科学范围内;二是在强夯法的应用过程中,需要将夯击点设置成三角形或正方形,同时还要与工程的目标深度相结合,详细分析土层地基的本质属性。
在完成第一次强夯后,将夯击点之间的距离控制在三倍重锤直径范围内,随后进行夯击时,能够将夯击点的间距适当的缩小,进而使夯击的深度和作用效果有所保障;三是因为土层空隙中的水压消去的速度之间影响到夯击的频率,所以在夯击时中间停留的时间根据土层性质的不同而各不相同。
例如,在对黏性土进行夯击时,因为孔隙水的压力具有较慢的消散速度,所以不能有太大的夯击频率;而具有较强渗透性的砂性土就可以加大夯击的频率。
四、结束语总言而之,公路施工相当复杂,施工时不仅要注意节能环保,而且要确保道路规划的可持续发展。
作为一种有效的施工方法,施工单位需要足够重视强夯地基处理技术在道理施工中的应用,需要对该项技术加强研究,同时要求施工人员对施工程序严格遵循,使安全意识不断增强,切实将强夯地基处理技术的优势发挥出来,使公路施工质量大幅提高,进一步促进建设的健康可持续发展。
AV错误常用解决方法四
AV错误常用解决方法四Violation(非法访问)General rotection Fault (一般保护性错误)或者Invalid age Fault(无效页面错误)虽然说法不一样但本质上总是由同一种错误引起的。
Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。
Access violation at address <十六进制值>in module <应用程序名>Read of address <十六进制值>Windows用户可能经常会看到类似于错误提示:“Error:Access violation at address 836556F8(004096da). Read of address 836556F8(00401000)”。
作为一个Delhi 程序开发者遇到这种错误的机会比其他用户更多(^_^)。
一旦Windows要在它被分配的存储区之外写数据信息它就会覆盖其他程序甚至操作系统的命令或数据。
一旦发生了这种情况操作系统将会瘫痪或者以某种形式关闭你必须重新启动计算机。
例如在Windows NT/2000下一个程序遇到这种错误时Dr. Watson出现并且停止了该程序捕获了一些快速的细节状态再把它们用文本形式记录下来。
Access Violation是某些最令恼的Windows程序遇到的错误之一。
本文的目的就是让你找到Delhi中Access Violation的解决之道。
首先声明一点AccessViolation和Microsoft Access没有任何关系。
用Delhi开发程序时我们可以把遇到的Access Violation分成两大类:运行期和设计期。
一、设计期的Access Violation1.硬件原因在启动或关闭Delhi IDE以及编译一个Delhi工程时容易出现设计期的Access Violation。
种常见的Android开发错误及解决方
9种常见的Android开发错误及解决方案71. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致.2. 布局文件不可以有大写字母3. 抛出如下错误WARNING: Application does not specify an API level requirement!,是由于没有指定users sdk的缘故,修改AndroidManifest.xml 文件.加入: ##4. 机器内存的瓶颈,当apk大于我们的机器内存时,模拟器无情的抛出Installation error: INSTALLFAILEDINSUFFICIENT_STORAGE Please check logcat output for more details. Launch canceled!让我们无法调试,现在我们来根治这个问题,解决方法有两种第一种(仅限apk小于机器内存,并且已安装上当前apk,只是无法再次debug)启动模拟器,然后进入菜单settings->applications->mangeapplications-> select the application->select “unistall”.这样就能彻底删除了,然后再重新安装这个apk就没问题了第二种(通用)-partition-size 128Eclipse中在项目Target的Options中添加。
##5.启动android模拟器时候如果提示:Failed to install on device ‘emulator-5554′: timeout这是可能因为卡的原因导致启动超时,解决办法:eclipse -> window -> Preferences -> Android -> DDMS -> ADB connection time out(ms).把这个时间设置的长一些,默认是5秒即5000ms,我改成10秒就ok了。
AndroidStudio升级4.1.1后各种错误和解决方案
AndroidStudio升级4.1.1后各种错误和解决⽅案⽬录1,CMake Error: CMake was unable to find a build program corresponding to “Ninja“.2,编译时,Build窗⼝报错信息⾥显⽰乱码(中⽂显⽰乱码)3,编写代码⽆错误提⽰(警告、报红等)4,Plugin Error: Plugin “simpleUML” is incompatible (supported only in IntelliJ IDEA)5,error: resource android:attr/dialogCornerRadius not found.1,CMake Error: CMake was unable to find a build program corresponding to “Ninja“.因为项⽬中使⽤到Cmake编译的C/C++代码,升级了Android Studio后编译出现CMake Error: CMake was unable to find a build program corresponding to “Ninja”.CMAKE_MAKE_PROGRAM is not set.执⾏编译查看编译详细报错信息gradlew :emsinglerecord:assembleDebug --stacktrace --info最终更换了CMAKE的环境变量(电脑=>属性=>⾼级系统设置=>环境变量=>Path⾥修改了原来的cmake路径为最新的D:\VS\cmake\3.10.2.4988404\bin);并且在SDK Manager⾥下载了最新的NDK,在Project Structure=>SDK Location⾥更新Andoid NDK location为D:\VS\ndk\21.3.6528147后这个错误消失。
Android找不到AVD的解决方法
Android找不到AVD的解决方法android 找不到AVD(Android Virtual Device)的解决办法Eclipse不管是通过命令还是AVD Management创建一个新的AVD,创建之后有可能会提示找不到新创建的AVD,但是重新创建一个相同名称的AVD时,却又提示已经存在,什么原因呢?原因就在环境变量的设置里,因为如果没有在环境变量中设置Android SDK的目录,那在创建AVD时,会创建在当前系统用户的目录下(C:\Documents and Settings\登陆系统的当前用户),你会看见一个名为".android"的文件夹,这个就是AVD的目录咯。
创建在这里Eclipse是找不到的。
解决方法如下:1.删除系统用户目录下的".android"的文件夹。
2.在环境变量中指定一个变量值为Android SDK的目录:ANDROID_SDK_HOME = E:\android-sdk-windows;//这是我的设置当然ANDROID_SDK_HOME可以随便取。
这样你再重新创建一个AVD,就可以在ANDROID_SDK_HOME 所指定的目录下看到 .android这个文件夹。
1.像添加java_home环境变量一样添加一个ANDROID_SDK_HOME2.新建avd。
则会有一个.android 文件夹创建在ANDROID_SDK_HOME 指向的目录3.运行 emulator.exe -avd MyAvd 启动成功!这样就可以成功的启动AVD 了如果建立此项目后Eclipse没有列出此项目,这是因为没有设置其显示,在菜单栏"Window"|"Show View"里选择如Package Explorer 等。
然后左侧的Package Explorer里右键刚刚建立的项目T estDemo,选择最后一个"Properties",再选择"Run/Debug Settings",在右侧"New"添加"Android JUnit Test",在弹出的设置里,选择标签"Target",再选择一个AVD,完成。
TheemulatorprocessforAVDwaskilled问题解决
TheemulatorprocessforAVDwaskilled问题解决之前android 模拟器运⾏好好的,最近想使⽤⼀下,突然发现不⾏了。
不管怎么操作,都是提⽰“The emulator process for AVD was killed”由于中间升级android studio 、window 版本,还安装过虚拟机之类,⽆法确定到底是哪个部分引起的,只能慢慢搜索⼀个个⽅法尝试,特此记录⼀下,⽅便后来的⼈以供参考。
常见原因出现这个错误提⽰之后,baidu、google上⾯说的最多是1、C盘空间不⾜2、window 低版本bug3、模拟器⽬录和SDK不在⼀个⽬录下4、模拟器⽬录有中⽂字符所以如果出现这个问题,可以排除⼀下是不是上⾯这些原因。
但是,我的版本很⾼,⽽且C盘空间⾜够,明显不是这个问题。
我之前是可以运⾏的,明显3/4也不可能。
命令启动,可见更多错误提⽰⼀下问题陷于僵局,⼀番折腾之后,在google上⾯看到⼀个命令,在命令⾏⼿动运⾏模拟器,之前全部都是通过android studio 启动。
启动模拟器命令.\emulator.exe -avd Pixel_2_API_30在SDK的emulator⽬录下执⾏ Pixel_2_API_30是我的模拟器名称。
通过这个命令,发现输出了很多异常信息:1、有麦克风相关的2、有定位相关的结合google上⾯⼀个哥们分析,我把window 设置--隐私⾥⾯麦克风,打开。
发现相关异常信息少了很多,能看见⼀个启动动画了,看起来⼀个⼤进步但是,动画显⽰⼏秒,⼜没了,还是提⽰The emulator process for AVD was killed设置window硬件加速⼜是⼀番折腾、分析,问题⼤致在android 模拟器的HAXM 和winow hyper-v相关功能导致的。
激动⼈⼼的时候来了,全部按照⽂档⼀步步来,操作完毕,开始运⾏。
果然,这次好多了,直接看见了模拟器但是,打击马上到来,window直接蓝屏了,提⽰PAGE_FAULT_IN_NONPAGED_AREA。
AV地址错误map文件根据地址报错,查Delphi代码
AV地址错误map⽂件根据地址报错,查Delphi代码1. ⾸先需要设置程序⽣成 map ⽂件。
Project -> Options -> Linker -> Map file , Detailed2. 计算公式Edit2.Text := IntToHex(StrToInt('$'+ Edit1.Text) - StrToInt('$00400000') - StrToInt('$00001000'), 8) ;将看到的地址错误,输⼊到 Edit1 中。
3. 从 Map ⽂件中查这个地址。
⼀般直接查是找不到的。
根据获得的 Edit2 中的值。
删掉最后 1 位,或者 2 位,查。
得到的第⼀个不⼤于 Edit2 中值的地⽅,就是我们要的。
如果能找到函数名,根据这个函数名对应的“完整”的地址,再查⼀次,可以得到代码⾏数。
4. 这种⽅法并⾮⾮常靠谱。
找不到,或者直接找到更底层的代码位置。
也是很正常的。
----------------------------------------------详解⼆什么是MAP⽂件?简单地讲,MAP⽂件是程序的全局符号、源⽂件和代码⾏号信息的唯⼀的⽂本表⽰⽅法,它可以在任何地⽅、任何时候使⽤,不需要有额外的程序进⾏⽀持。
⽽且,这是唯⼀能找出程序崩溃的地⽅的救星。
DELPHI下⽣成MAP⽂件的⽅法:偶只知道下⾯两种,如果谁知道其他的⽅法敬请告知多谢⽣成详细的MAP信息的⽅法1. project -> options -> Linker -> Map file 选择detailed.2. D:\Fred\Code\DELPHI\MyPas\ErrLineByAddr2>dcc32 -GD project1.dpr我们的代码为:unit Unit1;//{$D+,L+}interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);varI, J: Integer;p: PChar;beginI := 10;J := 0;//I := I div J; // 32//ShowMessage(IntToStr(I));p := nil;p^ := 'A'; // 38end;end.// 想必⼤家看到了会有返回0地址错误....我们这⾥就是要让它崩溃,让我让你崩溃 ^_^然后执⾏点击然后出错我的机器上崩溃地址为0044d946如果要查找代码⾏号,需要使⽤下⾯的公式做⼀些⼗六进制的减法运算:崩溃⾏偏移 = 崩溃地址(Crash Address) - 基地址(ImageBase Address) - 0x1000减去后得到 0004c946 然后查找 0004c9460044d946 - 00400000 = 0004d946 - 00001000 = 0004c946 <= 后⾯列出的0004C946 就是它了我们⽤ultraedit32之类的⼯具打开 .map⽂件搜索 0004C94,找到了,然后就找<= 0004c946的那个地址然后看到了Line numbers for Unit1(Unit1.pas) segment .text37 0001:0004C944 38 0001:0004C946 39 0001:0004C949 41 0001:0004C97C41 0001:0004C983o yeah..<星际⾥⾯注射兴奋剂的声⾳ ^_^>.. 38 0001:0004C946 就是它了。
Android开发环境搭建_english
1安装软件
安装jdk-6u18-windows-i586.exe
解压android-sdk2.3-windows.rar
解压eclipse_zh.rar
2开发环境配置
·配置Android SDK
在Eclipse中打开【Window】>【Preferences】>【Android】然后设置【SDK Location】为之前Android SDK的解压目录,如下图所示。
·配置AVD
在Eclipse中打开【Window】>【Android SDK and AVD Manager】>【Virtual Devices】单击【New】创建新的AVD,如下图所示。
1.3.3 开发环境测试
创建完AVD后,创建一个Android工程,来测试一下环境是否配置成功。
·单击【File】>【New】>【Android Project】
填写项目名称,选择Target,填写应用名称,包名及Activity名称,ADT会自动创建Helloworld的模板,如图1-11。
图1-11 创建Android工程
·运行工程,找到工程后,单击右键菜单的【Run As】>【Android Application】模拟器将会启动,并出现锁定状态,解锁后,如果显示HelloWorld的运行结果,已经
成功迈出了Android之旅的第一步。
·。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谷歌上原文是:
Create a new AVD using your selected Deployment Target. Execute:
android create avd --name <your_avd_name> --target <targendroid-sdk-windows-1.5_r1\tools>android list
- update avd : Updates an Android Virtual Device to match the folders of a ne
w SDK.
- create project: Creates a new Android Project.
- update project: Updates an Android Project (must have an AndroidManifest.xml).
这样应该就解决eclipse编译工程时会出错(Failed to find a AVD compatible with target 'Android 1.5'. Launch aborted.)问题啦。不知道上面我说的是否有错,不过大家可以借鉴一下。
有关详细的android.bat参数解释如下:
Moves or renames an Android Virtual Device.
Options:
-p --path New location path of the directory where to move the AVD
-n --name Name of the AVD to move or rename [required]
[2009-04-29 15:06:25 - HelloWorld] Performing com.yuankai.android.study.HelloAndroid activity launch
[2009-04-29 15:06:25 - HelloWorld] Failed to find an AVD compatible with target 'Android 1.5'. Launch aborted.
Type: Add-On
Vendor: Google Inc.
Description: Android + Google APIs
Based on Android 1.5 (API level 3)
Libraries:
* com.google.android.maps (maps.jar)
Action "list ":
Lists existing targets or virtual devices.
Options:
No options
Action "list avd":
Lists existing Android Virtual Devices.
Options:
Options:
-t --target Target id to set for the project [required]
-p --path Location path of the project [required]
-n --name Project name
[2009-04-29 15:06:25 - HelloWorld] ------------------------------
[2009-04-29 15:06:25 - HelloWorld] Android Launch!
[2009-04-29 15:06:25 - HelloWorld] adb is running normally.
Available Android targets:
id: 1
Name: Android 1.1
Type: Platform
API level: 2
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
Action "create project":
Creates a new Android Project.
Options:
-k --package Package name [required]
-n --name Project name
-a --activity Activity name [required]
网上找了老久,原因是没有创建Android Virtual Device,解决方法是在DOS界面下运行D:\Android SDK\android-sdk-windows-1.5_r1\tools 目录[注:Android SDK安装目录]中android .bat工具,指令是:android create avd --name android15r1 --target 2 (其中“android15r1”自己指定一个别的名字也可以),
Usage:
android [global options] action [action options]
Global options:
-h --help This help.
-s --silent Silent mode: only errors are printed out.
Action "update avd":
Updates an Android Virtual Device to match the folders of a new SDK.
Options:
-n --name Name of the AVD to update [required]
D:\Android SDK\android-sdk-windows-1.5_r1\tools>
这样就创建了一个自己定义的avd(Android Virtual Device),然后在之后就只要在Eclipse的Run Configurations里面指定一个AVD即在Target下选中我们自己定义的这个AVD即android15r1 就可以运行了.
-t --target Target id of the new AVD [required]
-c --sdcard Path to a shared SD card image, or size of a new sdcard for the
new AVD
-p --path Location path of the directory where the new AVD will be created
id: 2
Name: Android 1.5
Type: Platform
API level: 3
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 3
Name: Google APIs
No options
Action "list target":
Lists existing targets.
Options:
No options
Action "create avd":
Creates a new Android Virtual Device.
Options:
-n --name Name of the new AVD [required]
-f --force Force creation (override an existing AVD)
-s --skin Skin of the new AVD
Action "move avd":
- list : Lists existing targets or virtual devices.
- list avd : Lists existing Android Virtual Devices.
- list target : Lists existing targets.
API for Google Maps
Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P
Available Android Virtual Devices:
D:\Android SDK\android-sdk-windows-1.5_r1\tools>android create avd --name a
-t --target Target id of the new project [required]
-p --path Location path of new project [required]
Action "update project":
Updates an Android Project (must have an AndroidManifest.xml).
id15r1 --target 2
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]yes
......
.......
Created AVD 'android15r1' based on Android 1.5
-r --rename New name of the AVD to rename