`
luckliu521
  • 浏览: 260733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android初学者常见问题解析

阅读更多
1.  在cmd命令行中输入android list target出现android不是内部或外部命令

   新建一个环境变量ANDROID_HOME=你的sdk所在目录

然后在 path 中加入 %ANDROID_HOME%\tools


2. 移除程式

我們已經順利地啟動了虛擬機器,那麼,該怎麼移除安裝到虛擬機器上的程式哩?

Android SDK 中提供一個 adb (Android Debugger) 命令行工具 (在 android-sdk/tools 中),我們可以用裡面的 shell 工具連上虛擬機器來移除應用程式。在某些平台上,這些動作可能需要擁有 root 權限才能執行。

首先打開命令列,啟動 adb shell

    $ adb shell

接著切換到 data/app 目錄中

    $ cd data/app/

使用 ls 命令(等同 windows 上命令行的 dir 命令)來檢視檔案列表

    # ls

    com.example.android.apis.apk

接著使用 rm 命令來刪除 ApiDemos 應用程式

    # rm com.example.android.apis.apk

    # ls

移除虛擬機器

我們可以使用「android list avd」命令來列出所有的虛擬機器

$ android list avd

Available Android Virtual Devices:

    Name: eclair

    Path: /Users/mac/.android/avd/cupcake.avd

  Target: Android 2.0 (API level 5)

    Skin: HVGA

表示現在系統中有一個名為 eclair 的虛擬機器。 我們可以使用「android delete avd --name eclair」命令來刪除名稱為「eclair」的虛擬機器。

$ android delete avd --name eclair

AVD 'eclair' deleted.

刪除後再次執行「android list avd」命令,得到的結果為

$ android list avd

Available Android Virtual Devices:

表示系統中已經不存在任何模擬器,我們真的已經將虛擬機器刪除了。



3. 出现“Project has no target set. Edit the project properties to set one.”的错误

Eclipse导入步骤:
1. File.../Import.../General/Existing Projects into Workspace
2. 点Browse按钮,选择要导入的项目所在目录,点Finish
3. 如果出现“Project has no target set. Edit the project properties to set one.”的错误,则需要在该项目的属性里选中Project Build Target的Android版本
4. 文件夹中会自动追加一个gen的小目录,里面是自动生成的R.java文件,如果导入的文件中已有R.java,则会报错,此时只要将原来的R.java文件删掉即可。

如果有提示关于AndroidManifest.xml的错误,请选中此项目,并右键选择Android Tools->Fix Project,将会自动帮你修复错
误。





4. Could not find *.apk

1) 选择工程的Properties->Java Build Path->Libraries,去掉默认的Android包;

2) 点击左侧的Android标签,在右边的Project Build Target中选择Android 2.0;

3) 右键单击工程,选择Android Tools->Fix Project Properties.

有时候也可能是jdk版本的问题,改了jdk版本后,重启下eclipse



5、emulator: ERROR: the user data image is used by another emulator. Aborting

没有正常关闭导致的,删除android-sdk-windows\.android\avd\对于版本\下的以.lock结尾的文件夹就行


6. qemu: could not open disk image E:\Android\sdcard.img

  待解决



7. music player时需要在sdcard中加入文件

今天试用一下android的music player.运行music player,点击songs,显示如图:
 



原来,默认android没有加载sdcard,为了播放歌曲我们需要让android模拟张sdcard,具体操作如下:

D:\Tools\Android\android-sdk-windows-1.5_r1\tools>mksdcard.exe -l sdcard 256M E:
\study\android\sdcard.img

启动android时,需要指定sdcard,操作如下:

D:\Tools\Android\android-sdk-windows-1.5_r1\tools>emulator.exe -avd myroid -sdca
rd e:\study\android\sdcard.img

接下来,还需要在卡里放几首歌曲。需要使用到另一个工具ddms.bat,如下图:



点击Device—>FileExplorer,可以看到android系统的所有目录及文件,包括新创建的sdcard:



选中sdcard,点击toolbar上的push file onto Device,选择你要上传的音乐:



文件传好,就可以看到sdcard上显示的音乐了:





这时重新启动android,再运行music player点击songs,就可以看到sdcard里放入的音乐了:


选择歌曲就开始播放了:



回到桌面,可以看到music player的widget显示正在播放的歌曲:




怎么样,android还是挺有趣的吧,不过这里暂且报告几个使用过程中的android的bug(也许不是bug,只是我

还不会玩,:))

1.使用ddms的file explorer传输中文名称的文件不行,控制台显示如下错误:

55:41 E/ddms: transfer error: Invalid argument
Failed to push 水木年华-启程.wma on emulator-5554: Invalid argument

2.使用file explorer上传文件到sdcard上,需要重启android,music player才能看到sdcard上的媒体文件。

3.android的music player对mp3的id3 tag信息中文还是有乱码,如下图:


 

今天就到这里吧,下回要学习一下怎么开发个android的widget了。


8. 程序启动处错误the application 。。。source not find

解决:F11 调试 ,F6单步调试(加上断点),可以发现 “source not find ”的错误,

看了一下 问题出在了 Acitvity这里 到 文档里面 包:android.app.Activity里面看了下

如下:我标上了黄色的底纹的地方,问题就出在这里了,我虽然新建了一个活动但是我没有把这个活动注册到  AndroidManifest.xml. 这个文件里面。

下面是关于Activity的简单的介绍,很容易看懂,大概就是 ,活动是什么,子类可以实现 onCreate(Bundle) 、onPause()  方法,还介绍了 一下生命周期等。



9. Failed to push Angels.mp3 on emulator-5554: Read-only file system

打开cmd 运行如下命令

mksdcard -l sdcard 256M E:\Android\test\sdcard.img

emulator -avd tm -sdcard E:\Android\test\sdcard.img




再打开cdm 运行

adb push F:\MP3\EnglishSong\Angels.mp3 sdcard

(如果是用MediaStore获取歌曲列表,添加完后,进入模拟器,进入Dev Tools,里面有个Media Scanner.运行一下。ok现在进入应用就能看到歌曲列表了)

后查看sdcard 如下图:



10. Console

[2010-03-26 10:18:34 - TestMediaPlayer]Installation failed due to invalid APK file!

[2010-03-26 10:18:34 - TestMediaPlayer]Please check logcat output for more details.

[2010-03-26 10:18:34 - TestMediaPlayer]Launch canceled!

LogCat

03-26 02:18:33.950: DEBUG/asset(59): failed to open Zip archive '/data/app/vmdl10030.tmp'

03-26 02:18:33.959: WARN/PackageParser(59): Unable to read AndroidManifest.xml of /data/app/vmdl10030.tmp

03-26 02:18:33.959: WARN/PackageParser(59): java.io.FileNotFoundException: AndroidManifest.xml

03-26 02:18:33.959: WARN/PackageParser(59):     at android.content.res.AssetManager.openXmlAssetNative(Native Method)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:469)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:437)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.content.pm.PackageParser.parsePackageName(PackageParser.java:560)

03-26 02:18:33.959: WARN/PackageParser(59):     at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:4237)

03-26 02:18:33.959: WARN/PackageParser(59):     at com.android.server.PackageManagerService.access$1600(PackageManagerService.java:109)

03-26 02:18:33.959: WARN/PackageParser(59):     at com.android.server.PackageManagerService$5.run(PackageManagerService.java:3768)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.os.Handler.handleCallback(Handler.java:587)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.os.Handler.dispatchMessage(Handler.java:92)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.os.Looper.loop(Looper.java:123)

03-26 02:18:33.959: WARN/PackageParser(59):     at android.os.HandlerThread.run(HandlerThread.java:60)

03-26 02:18:33.959: ERROR/PackageManager(59): Couldn't find a package name in : /data/app/vmdl10030.tmp

根据以上提示找不到AndroidManifest.xml文件,将R.Java删除,重新运行就可以了



11. java.net.SocketException: Permission denied (maybe missing INTERNET permission)

这是一个经典错误, Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 这个Exception会有很多变体, 所以不一一举例,只要存在网络互联,
该东东挺身而出,让你的程序不得运行。

原因是: 需要访问到网络,所以,在AndroidManifest.xml中,需要进行如下配置:

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

or

<uses-permission xmlns:android="http://schemas.android.com/apk/res/android" android:name="android.permission.INTERNET"></uses-permission>
  • 大小: 41.4 KB
  • 大小: 84.8 KB
  • 大小: 21.9 KB
  • 大小: 128.9 KB
  • 大小: 66.4 KB
  • 大小: 175.1 KB
  • 大小: 29.3 KB
  • 大小: 33.1 KB
分享到:
评论
1 楼 bn922 2011-01-26  
文章有点乱 请博主整理...

相关推荐

    Android初学者起步书籍(英文原版,浅显易读,附带源码)

    《Android初学者起步书籍》是一本专为Android编程新手设计的入门教程,其英文原版以其清晰易懂的表述和丰富的实例,深受广大读者好评。这本书不仅覆盖了Android开发的基础知识,还提供了易于理解的范例,使得学习...

    Android 入门介绍 对初学者很有帮助

    ### Android入门介绍知识点...通过以上详细的知识点介绍,对于Android初学者来说,不仅能够了解到Android操作系统的背景和发展,还能够掌握日常使用中的各种技巧与解决方法,从而更加轻松地应对日常使用中的各种需求。

    初学者很好的安卓源码

    通过这个"初学者很好的安卓源码"项目,初学者不仅可以掌握基础的安卓编程技术,还能对安卓系统的传感器使用有深入的理解。在实践中不断学习和积累,将有助于你逐步成长为一名优秀的安卓开发者。

    220个JAVA初学者实例

    14. **设计模式**:了解常见的设计模式,如单例、工厂、观察者、装饰器等,它们是解决特定问题的通用解决方案。 15. **JDBC**:学习如何连接数据库,执行SQL语句,处理结果集,以及事务管理。 16. **网络编程**:...

    Android调用 C#WebService项目全套源码,代码清晰适合初学者

    本资源包提供了一个完整的实例,展示了如何在Android应用程序中调用C#编写的Web Service服务,这对于初学者来说是一个很好的学习材料。让我们详细了解一下这个项目所涵盖的知识点。 1. **Android开发基础**: - **...

    Android应用源码之解析word文档,过程详细,易懂,代码可直接复用-IT计算机-毕业设计.zip

    本项目提供了一个详细的Android应用源码示例,旨在帮助初学者和开发者掌握如何在Android环境中解析Word文档,使得过程更加易懂,代码可以直接复用。 首先,Android系统本身并不支持直接读取Microsoft Word(.doc或....

    Android中,使用SAX和PULL解析天气预报XML

    该文章详细介绍了在Android环境下如何使用SAX和PULL解析XML,包括代码示例和步骤说明,对于初学者来说非常有帮助。 最后,压缩包中的"Weather"文件很可能是示例的天气预报XML数据。通过实际解析这个文件,你可以更...

    常见的 Android Studio 项目实例

    如果你是初学者,可以从简单的记事本应用开始;如果你已经有一定的开发经验,那么挑战更复杂的项目会更有意义。不论你选择哪个项目,都可以在 GitHub 上找到相关的代码示例,这将有助于你更快地理解和实现这些项目。...

    何红辉关爱民-Android源码设计模式解析与实战(pdf带书签高清版)

    《何红辉关爱民-Android源码设计模式解析与实战》是一本专为Android开发者准备的进阶读物,旨在帮助读者深入理解Android系统的核心原理,并掌握如何在实践中运用...无论是初学者还是有经验的开发者,都能从中获益匪浅。

    android 简单的实现网络图片加载显示(适合初学者)

    在Android开发中,图片加载是一项常见的任务,尤其对于初学者来说,理解并实现这一功能是十分重要的。本教程将引导你通过简单的步骤实现网络图片的加载和显示,适合那些刚开始接触Android网络编程的新手。 首先,...

    android异步下载图片实例/解析xml实例

    在Android开发中,异步下载图片和XML解析是...对于Android初学者,这是一个很好的学习项目,涵盖了实际开发中的关键技能。同时,使用Picasso或Glide来加载图片,以及选择合适的XML解析器,都是提升应用性能的重要步骤。

    Android中解析html网页示例Demo

    总的来说,这个"Android中解析html网页示例Demo"涵盖了网络请求、HTML解析(如使用Jsoup)和数据展示的基本流程,对于初学者来说,这是一个很好的实践项目,可以帮助他们理解Android应用如何与网络交互并处理返回的...

    android几本好书

    这本书是Android初学者的入门首选,以通俗易懂的语言介绍了Android开发的基础知识,包括环境搭建、UI设计、数据存储、网络通信等方面,适合对Android有兴趣但无编程背景的读者。 2. **《Android编程:入门至进阶》...

    Android Gradle权威指南高清版

    特别强调的是,该指南的内容不仅适用于初学者,对于有经验的开发人员来说,也可以作为一个很好的参考书,帮助他们解决在Android项目中遇到的复杂问题,并且掌握最新的Gradle构建技术。由于Gradle在Android开发中的...

    60个经典Android实例

    "60个经典Android实例"提供了一系列实用的代码示例,帮助初学者了解和实践Android编程的关键概念。以下是一些关键知识点的详细说明: 1. **环境搭建**:首先,你需要安装Android Studio,它是Google官方提供的集成...

    第一行代码——Android 阅读计划-信仰.pdf

    本书《第一行代码——Android(第2版)》是一本适合Android初学者的教材,它详细介绍了Android开发的基础知识和技能。为了帮助读者更好地学习和掌握Android开发,书中特别为读者制定了一个四周的阅读计划,旨在通过...

    Android开发精典精选案例30个源码,初学必备 高手代码

    这个压缩包包含了30个精心挑选的Android开发案例,对于初学者来说是必备的学习资料,同时也为高手提供了宝贵的参考代码。以下将针对这些文件名,逐一解析其中涉及的重要知识点。 1. **jbox2d.jar**:这是一个物理...

    《Android源码设计模式解析与实战》PDF版本下载.txt

    无论是初学者还是有一定经验的开发者,都能从中获得宝贵的实践经验和技术指导。通过对本书的学习,不仅可以提升自己的编程水平,还能更好地理解和维护复杂的Android应用程序。 通过以上分析可以看出,《Android源码...

    android实战 打开浏览器(android studio源程序工程)

    这个实战项目"android实战 打开浏览器"是为Android初学者设计的,通过Android Studio进行实践操作,可以帮助学习者更好地理解和掌握相关知识。 首先,我们来看Android Studio。它是Google推出的一款强大的集成开发...

    Android源码设计模式解析与实战.pdf+精彩绝伦的Android UI设计.pdf

    总的来说,这两本书籍旨在全面提升Android开发者的设计思维和技术实力,无论是对于初学者还是有经验的开发者,都能从中获益良多。通过学习,开发者不仅能熟练运用设计模式来编写高效、优雅的代码,还能掌握创建出色...

Global site tag (gtag.js) - Google Analytics