Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从android文件夹中删除了类文件,但eclipse编译和运行仍然没有问题。怎样_Java_Android_Eclipse - Fatal编程技术网

Java 从android文件夹中删除了类文件,但eclipse编译和运行仍然没有问题。怎样

Java 从android文件夹中删除了类文件,但eclipse编译和运行仍然没有问题。怎样,java,android,eclipse,Java,Android,Eclipse,为了了解eclipse是如何工作的,我从android.widget文件夹中删除了textview.java文件。然而,我仍然能够在手机上编译和运行该应用程序,并显示文本。这怎么可能 Bundle.java文件也是如此。我将其从android.os文件夹中删除,并希望查看eclipse中mainactivity.java文件代码中是否有错误消息,但语句import android.os.Bundle下没有红线,也没有显示错误消息。我能够在手机上编译和运行这个应用程序。这怎么可能 顺便说一下,我正

为了了解eclipse是如何工作的,我从android.widget文件夹中删除了textview.java文件。然而,我仍然能够在手机上编译和运行该应用程序,并显示文本。这怎么可能

Bundle.java文件也是如此。我将其从android.os文件夹中删除,并希望查看eclipse中mainactivity.java文件代码中是否有错误消息,但语句
import android.os.Bundle下没有红线,也没有显示错误消息。我能够在手机上编译和运行这个应用程序。这怎么可能

顺便说一下,我正在从对应于android目标版本API号的文件夹中删除这些文件


谢谢您的帮助。

您的libs文件夹->中有一个android.jar,其中包含您需要的所有引用

文件本身在设备上,并且没有与项目一起编译,因此删除API文件夹的内容不会改变它

api文件夹的内容是为了让您能够将android.jar与源代码连接起来

见下图

平台版本

不同的设备可能运行不同版本的Android平台, 比如安卓4.0或安卓4.4。每个后续平台版本 通常会添加以前版本中不可用的新API。表示 哪一套API可用,每个平台版本指定一个 API级别。例如,安卓1.0是API级别1,安卓4.4是API级别1 API等级19

API级别允许您声明所使用的最低版本 您的应用程序是兼容的,使用manifest标记及其 minSdkVersion属性

例如,在Android 4.0(API)中添加了日历提供程序API 第14级)。如果没有这些API,你的应用程序无法正常运行,你应该 声明API级别14为应用程序的最低支持版本,如 这:

...

minSdkVersion属性声明使用的最低版本 您的应用程序是兼容的,并且targetSdkVersion属性声明 优化应用程序的最高版本

Android的每个后续版本都提供了应用程序的兼容性 它们是使用以前平台版本的API构建的,所以 您的应用程序应始终与未来版本的Android兼容 在使用记录在案的Android API时

注意:targetSdkVersion属性不会阻止您的应用程序 安装在高于 指定的值,但它很重要,因为它指示 系统确定您的应用程序是否应继承更新版本中的行为更改 版本。如果不将targetSdkVersion更新为最新版本 版本,系统假定您的应用程序需要一些 在最新版本上运行时的向后兼容性行为。 例如,在安卓4.4的行为变化中,产生了警报 使用AlarmManager时,API在默认情况下是不精确的,因此系统 可以批处理应用程序警报并保持系统电源,但系统将 如果您的目标API级别已更改,请保留应用程序以前的API行为 低于“19”

但是,如果您的应用程序使用在较新平台中添加的API 版本,但其主要功能不需要它们 应在运行时检查API级别,并适当降低 API级别过低时的相应功能。在这种情况下,, 将应用程序的minSdkVersion设置为可能的最低值 主要功能,然后比较当前系统的版本, SDK_INT,指向Build.VERSION_代码中的一个代码名常量 对应于要检查的API级别

摘自: 您声称已“删除”的代码默认安装在您的设备上。
这就是你的应用程序继续运行的原因。

我不是eclipse的家伙(我使用android studio),在eclipse项目设置/gradle文件中是否有
compileSdkVersion
?目标SDK版本是将被编译的版本,因此他/她在正确的轨道上。是的。它被称为
buildtargetversion
选项,设置为API 15,我从
android-15
文件夹中删除了文件。