android程序的入口
❶ android 没有main函数,怎么找到程序执行入口
android应用程序中,并没有像c++和java这样有main函数来作为应用程序的入口.android应用程序提供的是入口Activity(你打开一个应用,第一眼看到的),而非入口函数.
在AndroidManifest.xml中
给你要最先启动的acticity写上下面这些语句,表示这个activity就是入口
❷ apk入口在哪里
android应用程序(apk)没有固定的入口点,系统会根据各个程序的manifest设定,在发生指定事件的时候调用程序的指定位置。
如果你说的入口点是传统上认为的main函数,那么在android应用程序里面,相对应的就是在manifest里面用intent-filter设定了会处理main action的那个activity。
(2)android程序的入口扩展阅读:
APK(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), 原生资源文件(assets),证书(certificates),和清单文件(manifest file)。
APK 文件基于 ZIP 文件格式,它与JAR文件的构造方式相似,互联网媒体类型是:application/vnd.android.package-archive。
介绍
APK是Android application package的缩写,即Android安装包(apk)。APK是类似SymbianSis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。[2]
apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,但不同于Windows mobile中的PE文件,程序的保密性和可靠性不是很高,通过dexmp命令可以反编译它,但这种架构符合发展规律,微软的WindowsGadgets(WPF)也采用了这种架构方式。在Android平台中,dalvikvm的执行文件被打包为apk格式,最终运行时加载器会先解压,然后获取编译后的androidmanifest.xml文件中的permission声明对安全访问的限制,要知道仍然存在很多安全限制,但将apk文件传到/system/app文件夹下会发现执行是不受限制的。也许我们平时安装都不会选用这个文件夹,但在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有root权限。
❸ android程序的入口点在哪里
你可以看一下这个文件,AndroidManifest.xml,找到里面设置了这个的:<intent-filter <action android:name="android.intent.action.MAIN" / <category android:name="android.intent.category.LAUNCHER" /</intent-filter你看一下这几行代码是设置在哪个Activity里的,这个Activity就是整个应用程序的入口点
❹ android程序的入口点在哪里
同意楼上的观点,但也不一定是在Activity标签下的intent-filter里的,因为也可以一个因为程序也可以没有Activity的,比如说Service。只不过,在一般情况下,Activity还是有的,这样才构成很好的用户体验吧
❺ Android应用程序的入口点是什么ActivityThreadonCreate
以前一直都说Activity的人口是onCreate方法。
其实android上一个应用的入口,应该是ActivityThread。
和普通的java类一样,入口是一个main方法。
public static void main(String[] args) {
SamplingProfilerIntegration.start();
// CloseGuard defaults to true and can be quite spammy. We
// disable it here, but selectively enable it later (via
// StrictMode) on debug builds, but using DropBox, not logs.
CloseGuard.setEnabled(false);
Environment.initForCurrentUser();
// Set the reporter for event logging in libcore
EventLogger.setReporter(new EventLoggingReporter());
Security.addProvider(new AndroidKeyStoreProvider());
Process.setArgV0("<pre-initialized>");
Looper.prepareMainLooper();
ActivityThread thread = new ActivityThread();
thread.attach(false);
if (sMainThreadHandler == null) {
sMainThreadHandler = thread.getHandler();
}
AsyncTask.init();
if (false) {
Looper.myLooper().setMessageLogging(new
LogPrinter(Log.DEBUG, "ActivityThread"));
}
Looper.loop();
throw new RuntimeException("Main thread loop unexpectedly exited");
}
❻ Android APP最终入口在哪学JAVA的时候有main class,Android有吗
android程序里面我们见不到main方法,但实际我想应该还是有,不过在android中,入口方法,其实就是第一个被显示的activity,而第一个显示的activity是在AndroidManifest.xml中配置的,代码如下
<activity
android:name=".activity.WelcomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
❼ android 没有main函数,怎么找到程序执行入口
与传统的main函数类程序不同,Android程序的最小执行单元是程序片段(Component),部件包括有界面的(Activity)和无界面的(Service,Receiver,Provider)等,而且一个程序中可能包括多个程序片段。因此可以讲,有多少个程序片段,程序就有多少个入口点。另外从编程角度来讲,不同程序片段的代码入口点也有所差别。像大多数基于操作系统的程序设计一样,我们的程序是被操作系统调用,而不是我们调用操作系统。因此,程序片段隐藏了实际上的程序入口点,而只暴露给我们可以编写代码的入口点。典型的情况,对于Activity来讲,编写代码的入口点就是onCreate()方法。 到安卓巴士网站查看回答详情>>
❽ android程序的入口点在哪里
android应用程序(apk)没有固定的入口点,系统会根据各个程序的manifest设定,在发生指定事件的时候调用程序的指定位置。
如果你说的入口点是传统上认为的main函数,那么在android应用程序里面,相对应的就是在manifest里面用intent-filter设定了会处理main action的那个activity。
❾ Android应用程序入口点究竟是什么
android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity. Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber);
startActivity(call);
Intent sms = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+phonenumber);
startActivity(sms);
从这点上看,android应用程序实际上是由多个Activity按照一定的次序拼装起来的,只不过拼装的过程中,后台传递了一些数据,使得各个Activity之间能比较好的衔接起来.
扯了这么多,其实我的意思还是想说,android应用程序中,并没有像c++和java这样有main函数来作为应用程序的入口.android应用程序提供的是入口Activity,而非入口函数.
在eclipse中创建一个android应用程序的时候,默认会创建一个Activity.这个Activity实际上就是入口Activity了.从
哪里定义它是Activity呢?AndroidManifest.xml文件中定义了整个android应用所包含的Activity.默认生成的
Activity的定义为:
<activity android:name=".activity01" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
action节点中的android.intent.action.MAIN表明它所在的Activity是整个应用程序的入口点.而category中
的android.intent.category.LAUNCHER意思是把这个Activityg归属到加载器类,即把这个Activity标注为自
动会加载和启动的Activity,这样程序启动时候就先加载这个Activity了.参考手册上是这么说的----"the LAUNCHER
category says that this entry point should be listed in the application
launcher."意思和我理解的有出入.不过意思都是说这个Activity要被应用程序加载.