2

从 git 克隆闹钟的 android 源。导入到我的 Eclipse 中发现以下错误:

Alarms.java: 
Line 463: Intent alarmChanged = new Intent(Intent.ACTION_ALARM_CHANGED);
Error: ACTION_ALARM_CHANGED cannot be resolved or is not a field.
---------------------------------------

AlarmKlaxon.java
Line 89: mVibrator = new Vibrator();
Error: Cannot instantiate the type Vibrator
-----------------------------------

DigitalClock.java
Line 184: CharSequence newTime = DateFormat.format(mFormat, mCalendar);
Error: Call requires API level 3 (current min is 1):android.text.format.DateFormat#format

Line 167: mContext.unregisterReceiver(mIntentReceiver);
Error: mContext cannot be resolved
-----------------------------------

SetAlarm.java
Line 115: FrameLayout content = (FrameLayout) getWindow().getDecorView()
            .findViewById(com.android.internal.R.id.content);
Error:com.android.internal.R cannot be resolved to a variable

-----------------------------------

这不是这个应用程序,我从 git android 树克隆的任何应用程序......我遇到了一些错误或其他错误。我不知道我做错了什么。我的目标是果冻豆。我还检查了将构建目标设为谷歌 API,但没有用。

4

1 回答 1

1

这是你应该做的:

  • 重新开始,因此删除该项目并关闭 Eclipse。

  • 再次下载源

  • 打开 Eclipse,按Ctrl + N。这将打开新项目向导。

  • 选择Android然后Android Project From Existing Code

  • 指向Root DirectoryDeskClock 源。考虑检查Copy projects into workspace。这样,当您编辑文件时,您不会编辑下载的原始源,而是编辑工作区中的副本。

  • 打开Manifest并设置一个minSdkVersion.

大概会是这样的:

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="17" />
  • 您需要添加android-support-v13库。这可以在 SDK 中找到。

路径将是这样的:

PATH_TO_YOUR_SDK\extras\android\support\v13

一旦你有了这个,把它扔到libs你项目的文件夹中。如果不存在,请创建一个。

完成所有这些之后,如果仍然有任何错误,您应该清理您的项目。您还应该考虑突出显示您的项目,按下Alt+Enter选择Android并将其更改Project Build Target为最新的源。

确保在克隆 repo 时使用正确的链接:

git clone https://android.googlesource.com/platform/packages/apps/DeskClock

此外,请确保将 Eclipse 指向正确的 Android SDK 目录。转到Window-->Android并确保SDK Location指向正确的路径。

于 2013-03-24T06:48:18.817 回答