【问题标题】:Code compiles in Eclipse but same code doesn't compile in new Android Studio代码在 Eclipse 中编译,但相同的代码在新的 Android Studio 中不编译
【发布时间】:2013-05-12 02:16:39
【问题描述】:

代码在 Eclipse 中完美运行。今天决定我今天给Android Studio 一个机会。完成所有必要的先决条件并根据 Android 指南导入我的代码。现在,我在 Eclipse 中运行的相同代码无法在 Studio 中编译。

以下是我的大多数活动中出现的错误示例:

SwarmConnect 文档:HERE

import com.swarmconnect.SwarmActivity;

public class MainMenu extends SwarmActivity {

    ImageView image;
    Button startBtn, highscoresBtn, aboutBtn, comingsoonBtn, biblestudyBtn;
    TextView title, subtitle;

    public static final String notice = "notice";

    Context c;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.mainmenu);

        c = this;  // Incompatible types.  Required: android.content.Context.  Found: matt.lyons.bibletrivia.lite.MainMenu

这是否发生在其他任何人身上,例如在 Eclipse 中运行的旧代码在新的 Android Studio 中不运行?

编辑

添加了指向 SwarmConnect 文档的链接,显示 SwarmActivity 是扩展类以使其库正常工作的方法。还在代码中添加了SwarmActivity 导入。

【问题讨论】:

  • 确定 SwarmActivity 是 Activity 的子类吗?也许你对 SwarmActivity 的定义搞砸了。
  • 你应该阅读Migrating from Eclipse,并配置项目结构,检查SDK是否添加?
  • @EdwardFalk - 使用 SwarmActivity 的更多信息编辑了我的帖子。
  • @Siddharth - 该错误已在我发布的代码的最后一行中进行了注释。
  • 回滚编辑到原作者的版本,因为与第3方编辑不同,它表示错误信息关联的行

标签: java android incompatibility android-studio


【解决方案1】:

在 Eclipse 中,您可能正在使用 Eclipse 编译器 (ecj)。 Android Studio 使用 Gradle,它使用 Java 命令行编译器 (javac)。这不是 Android Studio 的问题,而是两个编译器处理泛型的方式不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多