oschina安卓源代码解析(二)AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.oschina.app"
    android:versionCode="30"
    android:versionName="1.7.7.1" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" />
    
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.flash"
        android:required="false" />
    <uses-feature android:name="android.hardware.screen.landscape" />
    <uses-feature
        android:name="android.hardware.wifi"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

    <application
        android:name=".AppContext"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name" >
        <activity
            android:name=".AppStart"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.About"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight" />
        <activity
            android:name=".ui.FeedBack"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.HalfTranslucent"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
        <activity
            android:name=".ui.ReportUi"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.HalfTranslucent"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
        <activity
            android:name=".ui.Main"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.NoTitleBar" />
        <activity
            android:name=".ui.LoginDialog"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.HalfTranslucent"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
        <activity
            android:name=".ui.NewsDetail"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.SoftwareLib"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight" />
        <activity
            android:name=".ui.SoftwareDetail"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.BlogDetail"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.QuestionTag"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.QuestionDetail"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.QuestionPub"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".ui.TweetDetail"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.TweetPub"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".ui.MessageDetail"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.SlideTop" />
        <activity
            android:name=".ui.MessagePub"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.SlideTop"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".ui.MessageForward"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.SlideTop"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".ui.CommentPub"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".ui.Setting"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.Preference" />
        <activity
            android:name=".ui.Search"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".ui.UserInfo"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight" />
        <activity
            android:name=".ui.UserCenter"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight" />
        <activity
            android:name=".ui.UserFavorite"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight" />
        <activity
            android:name=".ui.UserFriend"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight" />
        <activity
            android:name=".ui.ImageDialog"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.HalfTranslucent" />
        <activity
            android:name=".ui.ImageZoomDialog"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:launchMode="singleTask"
            android:theme="@style/Theme.ZoomLight.Fullscreen" />
        <activity
            android:name=".ui.ScreenShotShare"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.ZoomLight.Fullscreen" />
        <activity
            android:name="com.tencent.weibo.webview.OAuthV1AuthorizeWebView"
            android:label="@string/app_name" />
        <activity android:name="net.oschina.app.common.QQWeiboHelper2" />
        <activity
            android:name=".ui.CaptureActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:stateNotNeeded="true"
            android:theme="@style/Theme.SlideTop"
            android:windowSoftInputMode="stateAlwaysHidden" >
        </activity>
        <activity
            android:name=".ui.Signin"
            android:configChanges="keyboardHidden|orientation"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.HalfTranslucent"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />

        <receiver android:name=".ui.BroadCast" >
            <intent-filter>
                <action android:name="net.oschina.app.action.APPWIDGET_UPDATE" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

找到启动的activity

  <application
        android:name=".AppContext"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name" >
        <activity
            android:name=".AppStart"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

其他暂时不用管它,这里有一个.AppStart 就是一个类

那么在哪里呢,我们先看开头

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.oschina.app"
    android:versionCode="30"
    android:versionName="1.7.7.1" >

打包的路径 net.oschina.app

所以我们在src文件夹下面 找到net.oschina.app

(我用的是Android Studio )

然后再在下面找到了AppStart

到这里 我们下一步就是分析AppStart


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值