草庐IT

android - 将现有的 Android 项目导入 Eclipse

coder 2023-11-24 原文

将现有 Android 项目导入 Eclipse 时,project.properties 更新不正确。此文件存在于源代码管理中:

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure.

# Project target.
target=Google Inc.:Google APIs:14

导入项目后(什么都不做)文件如下所示:

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure.

# Project target.
target=android-8

list 包含以下项目:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="14"/>

这意味着每次有人导入项目时,我们都必须在项目->属性->android 菜单中重置构建目标。我安装了最新的 ADT 工具,所有 SDK 都已下载并可用。

我尝试过的事情:

  1. 删除整个项目,包括磁盘上的内容,在导入前克隆并删除 project.properties 文件。同样的结果。
  2. 删除整个项目,包括磁盘上的内容,在导入前克隆并删除 .settings 文件夹。同样的结果。
  3. 删除整个项目,包括磁盘上的内容,克隆和导入只是为了 grins。同样的结果。
  4. 搜索了 .project 文件。没有兴趣。
  5. 仔细检查 ant.properties、build.xml 和所有其他纯文本可读文件以寻找线索。没有兴趣。
  6. 用 Google 搜索问题并仔细检查 Eclipse 和 ADT 错误站点以了解已知问题。纳达。
  7. 在文件系统上验证文件在克隆后确实具有正确的设置,导入是罪魁祸首。
  8. 删除整个项目,包括磁盘上的内容,克隆,手动编辑 project.properties 文件到 android-14,导入。这导致 project.properties 文件没有发生变化,但由于我使用 Google API 进行映射,所以这是 Not Acceptable 。

我刚刚验证了我可以在项目导入后“修复”它。从 Eclipse 中删除项目,但将内容保留在磁盘上。导入项目会再次错误地编辑 project.properties。导入过程无法识别 project.properties 中的 Google API 条目。

这就是我将项目从文件系统导入 Eclipse 的方式:

想法?

最佳答案

现在使用 General -> Existing Projects into Workspace 而不是 Android -> Existing Android Code into Workspace 来避免 project.properties 文件被不正确地自动生成。

你是对的,如果你的android项目没有.classpath,android包结构就会丢失。但是如果你的 android 项目已经是一个 Eclipse 项目,它应该导入就好了。

这是 eclipse 中的一个错误。 http://code.google.com/p/android/issues/detail?id=40161

这段摘录解释了这个问题。

“如果您正在导入一个 Eclipse 项目(它有一个 .classpath),只需使用通用的 Eclipse 项目导入机制;它仍然存在(导入 > 常规 > 现有项目进入工作区)。我们添加了导入 > Android > 现有 Android Code Into Workspace 因为很多人要导入非 Eclipse 项目,这没有得到很好的支持;你必须“创建新的”,然后使用复选框选择“现有代码”等,以及项目的位置和现有源代码的位置不明确。我们使现有 Android 代码导入选项适用于 Eclipse 项目,这样它就可以成为引入源代码的一种明显方式。但这是新代码,不是一般的 Eclipse 内置导入代码,这就是为什么它不像以前那样选择项目名称的原因。(处理从源代码添加新项目的相关代码确实以与代码现在相同的古怪方式运行,从 list 中选择一个项目名称。但是,让它查找 t .project 文件中的项目名称作为更好的默认值(如果存在)应该是可行的,所以我也会尝试添加它。”

关于android - 将现有的 Android 项目导入 Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16301759/

有关android - 将现有的 Android 项目导入 Eclipse的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  5. ruby - 检查是否通过 require 执行或导入了 Ruby 程序 - 2

    如何检查Ruby文件是否是通过“require”或“load”导入的,而不是简单地从命令行执行的?例如:foo.rb的内容:puts"Hello"bar.rb的内容require'foo'输出:$./foo.rbHello$./bar.rbHello基本上,我想调用bar.rb以不执行puts调用。 最佳答案 将foo.rb改为:if__FILE__==$0puts"Hello"end检查__FILE__-当前ruby​​文件的名称-与$0-正在运行的脚本的名称。 关于ruby-检查是否

  6. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  7. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  8. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  9. ruby-on-rails - 在现有数据库上进行 Rails 迁移 - 2

    我正在创建一个新的Rails3.1应用程序。我希望这个新应用程序重用现有数据库(由以前的Rails2应用程序创建)。我创建了新的应用程序定义模型,它重用了数据库中的一些现有数据。在开发和测试阶段,一切正常,因为它在干净的表数据库上运行,但是当尝试部署到生产环境时,我收到如下消息:PGError:ERROR:column"email"ofrelation"users"alreadyexists***[err::localhost]:ALTERTABLE"users"ADDCOLUMN"email"charactervarying(255)DEFAULT''NOTNULL但是我在迁移中有这

  10. ruby - 如何将新的 rvm 安装与现有的 ruby​​ 版本相关联? - 2

    我遇到了RVM的问题,所以我卸载并重新安装了它。事实是我实际上尝试过rbenv,但这对我来说没有用,所以我试图让rvm重新启动并运行-而不必安装重复版本的Ruby。我至少安装了1个现有版本的Ruby:ruby--versionruby1.8.7(2011-12-28patchlevel357)[universal-darwin11.0]但是当我执行rvmlist时,我得到一个空白列表:bash-3.2$rvmlistrvmrubies#Defaultrubynotset.Try'rvmaliascreatedefault'.#=>-current#=*-current&&default

随机推荐