Android Market 分析【安卓市场】

安卓市场:

通过对表的分析,“下载任务”的数据来源于数据库【app_download】,“已安装”的数据来源于数据库【software_installed】。

数据分析:-----

bash-3.2# pwd/data/data/com.hiapk.marketpho

bash-3.2# ls -a -ldrwxr-x--x     1 app_47   app_47        2048 Feb  4 12:38 .drwxrwx--x    1 system   system         2048 Mar  4 23:29 ..drwxrwx--x    1 app_47   app_47        2048 Mar  5 11:06 cachedrwxrwx--x    1 app_47   app_47        2048 Mar  5 11:07 databasesdrwxrwx--x    1 app_47   app_47        2048 Feb  4 12:38 filesdrwxr-xr-x     1 system   system         2048 Feb  4 12:37 libdrwxrwx--x    1 app_47   app_47        2048 Mar  5 11:05 shared_prefs

bash-3.2# pwd/data/data/com.hiapk.marketpho/databasesbash-3.2# lshiapk_market.db       webview.db-wal              webviewCache.db-walwebview.db               webviewCache.dbwebview.db-shm       webviewCache.db-shm

【hiapk_market.db中的3个表:】

sqlite> .schema android_metadataCREATE TABLE android_metadata (locale TEXT);

sqlite> .schema app_downloadCREATE TABLE app_download (_id integer primary key autoincrement,app_id int,pname text,name text,version text,version_code int,save_path text,host_path text,durl text,iurl text,state integer, dsize real,size real);

sqlite> .schema software_installedCREATE TABLE software_installed (_id integer primary key autoincrement,pname text,version_code int,update_state int,lus_time real);

【shared_prefs数据信息:】

bash-3.2# pwd/data/data/com.hiapk.marketpho/shared_prefs

bash-3.2# lsmarket_config_pref.xml  user_info_pref.xml

bash-3.2# cat market_config_pref.xml<?xml version=‘1.0‘ encoding=‘utf-8‘ standalone=‘yes‘ ?><map><string name="tu_version">6.0</string><long name="last_check_ms_update" value="1330916742619" /><boolean name="tu_newst" value="false" /><boolean name="load_app_icon" value="true" /><int name="ct_version" value="3" /><boolean name="download_in_wifi" value="true" /><boolean name="push_sound" value="true" /><boolean name="check_suo_wifi" value="true" /><boolean name="sr_ed" value="true" /><int name="ct_tab_2" value="2" /><int name="ct_tab_1" value="1" /><int name="ct_tab_0" value="0" /><boolean name="load_app_screenshot" value="true" /><boolean name="tu_software_install" value="true" /><boolean name="auto_install" value="false" /><boolean name="show_su_note" value="true" /><boolean name="tu_stag_finger" value="true" /></map>

bash-3.2# cat user_info_pref.xml<?xml version=‘1.0‘ encoding=‘utf-8‘ standalone=‘yes‘ ?><map><null name="sid" /></map>

【分析 app_download 表中的数据】

sqlite> select * from app_download;16|417450|com.sina.weibo|新浪微博|2.8.1 beta1|154|httpstdL21udC9zZGNhcmQvLjAxMDIvNDE3NDUw|httpstd|httpstdL2FwaTIucGhwP3F0PTkwMDEmYXBrPTQxNzQ1MA==|httpstdL2FwaTIucGhwP3F0PTkwMDEmaWNvbj00MTc0NTA=|4|4190.0|4190.020|414153|cn.mobage.g12000001|忍者无极|1.1.0|20120216|httpstdL21udC9zZGNhcmQvLjAxMDIvNDE0MTUz|httpstd|httpstdL2FwaTIucGhwP3F0PTkwMDEmYXBrPTQxNDE1Mw==|httpstdL2FwaTIucGhwP3F0PTkwMDEmaWNvbj00MTQxNTM=|4|32836.0|32836.0

【分析 software_installed 表中的数据】

sqlite> select * from software_installed;3|com.adobe.flashplayer|111111005|0|1330047704282.04|com.adobe.reader|35498|0|1330047704351.05|com.google.android.inputmethod.pinyin|11|0|1330047704331.06|com.jingdong.app.mall|26|0|1328330293581.08|com.tencent.mobileqq|7|0|1328330293698.010|com.yingyonghui.market|30015477|0|1328330293770.011|com.chaozh.iReaderFree|33|0|1328333272864.012|com.hj.nce|7|0|1330047704428.014|com.mumayi.market.ui|28|0|1328333273918.015|com.speedsoftware.rootexplorer|59|0|1330047704387.017|udk.android.reader|148|0|1330047704321.018|com.android.wooboom.reader2011|8|0|1328333518152.019|com.duomi.android|48|0|1330047704294.020|com.ltz.duzhewenzhaijinghua|55|0|1330047704312.022|com.sohu.inputmethod.sogou|30|0|1328451689403.023|com.tencent.minihd.qq|38|0|1330047704361.024|com.tencent.mtt|33|0|1330047704375.025|com.tencent.qqpim|386|0|1328451689479.026|com.tigerknows|241|0|1330047704341.028|com.renren.mobile.android|45500|0|1328328194555.030|com.UCMobile|7|0|1328685576421.031|com.nd.android.pandareader|2100|0|1328685576435.032|cn.goapk.market|3200|0|1328783101267.033|com.antutu.market|6|0|1328783101280.036|com.wd.AndroidDaemon|35|0|1328783101322.037|viva.reader|11|0|1330047704417.038|org.androidpn.demoapp|20100927|0|1329153483336.040|com.tencent.mm|135|0|1329300644593.045|com.qiyi.video|20|0|1330047491948.046|com.cerience.reader.app|33|0|1330051136770.051|com.qzone|17|0|1330163960187.052|com.vancl.activity|20|0|1330220390301.055|com.google.android.stardroid|1112|0|1330420551134.056|com.qiyi.video.pad|4|0|1330420551192.057|com.sina.weibo|101|0|1330420551221.058|com.gianormousgames.towerraiders2|109|0|1330432662199.059|com.zdworks.android.toolbox|172|0|1330490575816.063|com.google.android.voicesearch|214|0|1330597799568.064|com.tsf.shell|1|0|1330597799578.065|com.tsf.shell.widget.memo|1|0|1330597799588.066|com.tsf.shell.widget.music|1|0|1330597799598.067|com.tsf.shell.widget.weather|1|0|1330597799608.068|com.nd.assistance|12|0|1330614541580.069|com.eunut.brsd|5|0|1330618010408.070|com.eee168.wowsearch|0|0|1330912385355.071|com.lovebizhi.wallpaper|8|0|1330912385394.0

【AndroidManifest.xml分析】

<?xml version="1.0" encoding="UTF-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.hiapk.marketpho"    android:versionCode="43"    android:versionName="3.1" >

    <application        android:name=".MarketApplication"        android:allowTaskReparenting="true"        android:alwaysRetainTaskState="true"        android:icon="@drawable/icon"        android:label="@string/app_name"        android:theme="@style/MarketCommonTheme" >        <activity            android:name=".MarketMainFrame"            android:configChanges="keyboardHidden|orientation"            android:icon="@drawable/icon"            android:label="@string/app_name"            android:launchMode="singleTop"            android:windowSoftInputMode="adjustPan" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity            android:name=".LoginRegistFrame"            android:configChanges="keyboardHidden|orientation" />        <activity            android:name=".AppDetailFrame"            android:configChanges="keyboardHidden|orientation" >            <intent-filter android:label="@string/app_name" >                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />                <category android:name="android.intent.category.BROWSABLE" />

                <data                    android:host="details"                    android:path=""                    android:scheme="himarket" />                <data                    android:host="market.hiapk.com"                    android:path="/details"                    android:scheme="http" />                <data                    android:host="sc.hiapk.com"                    android:path="/m/details"                    android:scheme="http" />                <data                    android:host="details"                    android:path=""                    android:scheme="market" />                <data                    android:host="market.android.com"                    android:path="/details"                    android:scheme="http" />            </intent-filter>        </activity>        <activity            android:name=".AppScreenshotFrame"            android:configChanges="keyboardHidden|orientation"            android:screenOrientation="portrait" />        <activity            android:name=".MarketConfigFrame"            android:configChanges="keyboardHidden|orientation" />        <activity            android:name=".AppDownloadFrame"            android:configChanges="keyboardHidden|orientation" />        <activity            android:name=".SoftUpdateFrame"            android:configChanges="keyboardHidden|orientation" />        <activity            android:name=".QuickSearchFrame"            android:configChanges="keyboardHidden|orientation"            android:launchMode="singleTop" >            <intent-filter                android:icon="@drawable/icon"                android:label="@string/app_name" >                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />                <category android:name="android.intent.category.BROWSABLE" />

                <data                    android:host="search"                    android:path=""                    android:scheme="himarket" />                <data                    android:host="market.hiapk.com"                    android:path="/search"                    android:scheme="http" />                <data                    android:host="sc.hiapk.com"                    android:path="/m/search"                    android:scheme="http" />                <data                    android:host="search"                    android:path=""                    android:scheme="market" />                <data                    android:host="market.android.com"                    android:path="/search"                    android:scheme="http" />            </intent-filter>        </activity>        <activity            android:name=".MarketUpdateFrame"            android:configChanges="keyboardHidden|orientation"            android:label="@string/market_update_title"            android:theme="@style/Theme.CustomDialog" />        <activity            android:name=".StaticADFrame"            android:configChanges="keyboardHidden|orientation"            android:label="@string/static_ad_title"            android:theme="@style/Theme.CustomDialog" />        <activity            android:name=".WeiboAccountFrame"            android:configChanges="keyboardHidden|orientation"            android:label="@string/fir_account_login"            android:theme="@style/Theme.CustomDialog" />        <activity            android:name=".DiffSignatureFrame"            android:configChanges="keyboardHidden|orientation"            android:label="@string/note"            android:theme="@style/Theme.CustomDialog" />        <activity            android:name=".TutorialActivity"            android:configChanges="keyboardHidden|orientation"            android:theme="@style/MarketPanelTheme" />        <activity            android:name="com.google.zxing.client.android.CaptureActivity"            android:configChanges="keyboardHidden|orientation"            android:screenOrientation="landscape"            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"            android:windowSoftInputMode="stateAlwaysHidden" >            <intent-filter>                <action android:name="com.hiapk.marketmob.SCAN_APP_SHOW_INFO" />

                <category android:name="android.intent.category.DEFAULT" />            </intent-filter>        </activity>        <activity            android:name=".WeiboFrame"            android:configChanges="keyboardHidden|orientation" />        <activity            android:name=".DiscussDetailFrame"            android:configChanges="keyboardHidden|orientation" />        <activity            android:name=".MarketExitFrame"            android:configChanges="keyboardHidden|orientation"            android:label="@string/exit_confirm"            android:theme="@style/Theme.CustomDialog" />

        <service android:name="com.hiapk.marketmob.AppStateService" >            <intent-filter>                <action android:name="com.hiapk.marketmob.ACTION_SERVICE_DOWNLOAD_REQUEST" />                <action android:name="com.hiapk.marketmob.ACTION_SERVICE_DOWNLOAD_CANCEL" />                <action android:name="com.hiapk.marketmob.ACTION_SERVICE_DOWNLOAD_STOP" />                <action android:name="com.hiapk.marketmob.ACTION_SERVICE_DOWNLOAD_REVERSE" />                <action android:name="com.hiapk.marketmob.ACTION_SERVICE_PUSH_DOWNLOAD_APP" />            </intent-filter>        </service>        <service android:name="com.hiapk.marketmob.push.PushService" >            <intent-filter>                <action android:name="com.hiapk.marketmob.PUSH_REQUIRE_CONNECT" />                <action android:name="com.hiapk.marketmob.PUSH_REQUIRE_DISCONNECT" />                <action android:name="com.hiapk.marketmob.PUSH_REQUIRE_CLIENT_STATE" />            </intent-filter>        </service>

        <receiver android:name="com.hiapk.marketmob.AppStateReceiver" >            <intent-filter>                <action android:name="android.intent.action.PACKAGE_ADDED" />                <action android:name="android.intent.action.PACKAGE_REMOVED" />

                <activity                    android:name=".DiscussDetailFrame"                    android:configChanges="keyboardHidden|orientation" />

                <data android:scheme="package" />            </intent-filter>            <intent-filter>                <action android:name="com.hiapk.marketmob.ACTION_PUSH_CLIENT_STATE" />                <action android:name="com.hiapk.marketmob.ACTION_CHOOSE_APP_DOWNLOAD_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_CHOOSE_SOFT_UPDATE_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_CHOOSE_MARKET_UPDATE_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_CHOOSE_SOFT_INSTALL_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_CHOOSE_APP_DOWNLOADED_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_CHOOSE_STATIC_AD_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_UPDATE_CHECK_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_REPORT_SIMPLE_NOTIFY" />                <action android:name="com.hiapk.marketmob.ACTION_STATIC_AD_CHECK_NOTIFY" />                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />            </intent-filter>        </receiver>    </application>

    <uses-sdk        android:minSdkVersion="4"        android:targetSdkVersion="4" />

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

    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <uses-permission android:name="android.permission.ADD_SYSTEM_SERVICE" />    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />    <uses-permission android:name="android.permission.HARDWARE_TEST" />    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />    <uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.WAKE_LOCK" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />    <uses-permission android:name="android.permission.DELETE_PACKAGES" />    <uses-permission android:name="android.permission.CAMERA" />    <uses-permission android:name="android.permission.FLASHLIGHT" />    <uses-permission android:name="android.permission.READ_LOGS" />    <uses-permission android:name="android.permission.GET_TASKS" />

</manifest>

安智市场:

木蚂蚁:

应用汇:

安机市场:

我搜:

时间: 2024-08-25 13:43:15

Android Market 分析【安卓市场】的相关文章

GJM : 发布APK 到 Google Play(Android Market)官方市场

原文网址:http://www.chinaapp.org/game/5594.html 作为一个专业的App开发者网站,竟然没有一篇讲述如何将Android App发布到Google Play的教程,这不允许出现,现在我们借力开发者的贡献将本文分享给更多的Android开发者. 相关教程推荐:苹果开发者如何将应用发布到Apple应用程序商店教程 还在苦恼于如何发布应用到Android市场吗?请跟随本教程,本教程将教你通过几个简单步骤完成发布应用到Android市场. 虽然步骤很简单,但也有相当多

【转】开发者教程:如何将Android应用发布到Google Play(Android Market)官方市场

原文网址:http://www.chinaapp.org/game/5594.html 作为一个专业的App开发者网站,竟然没有一篇讲述如何将Android App发布到Google Play的教程,这不允许出现,现在我们借力开发者的贡献将本文分享给更多的Android开发者. 相关教程推荐:苹果开发者如何将应用发布到Apple应用程序商店教程 还在苦恼于如何发布应用到Android市场吗?请跟随本教程,本教程将教你通过几个简单步骤完成发布应用到Android市场. 虽然步骤很简单,但也有相当多

(一)Android开发之安卓系统的前世今生

1 什么是Android Android中文名称"安卓",英文含义为"机器人",Android是谷歌旗下的一款基于linux平台的开源操作系统.主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.该平台由操作系统.中间件.用户界面和应用软件组成.?   底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,大部分程序以Java语言编写. 2 Android的发展历程(来源百度百科) 2003年10月,Andy Rubi

从Android Market中应用链接

开发后的安卓APP应用都会上传到应用市场中去,如果想实现直接进入Android Market中找到自己想要的应用,我们应该如何操作呢?办法肯定是有的 ,不过前提是要知道你应用的包名或者开发者名称或者是关键字.当然,如果你知道应用的包名,找应用是最精准的!下面分别介绍下: 1,通过包名找应用: Uri uri = Uri.parse("market://details?id=com.ldm.demo");//其中com.ldm.demo就是你想要找的包名,对应格式:market://de

上传应用并生成下载链接需要多少钱;安卓市场上传应用需要什么

联系QQ:2205357007 上传应用并生成下载链接需要多少钱:安卓市场上传应用需要什么 上传应用程序到安卓分发市场时,经常需要填写一些有关apk安装包的信息.而作为非技术开发人员的我们同样需要识记一下这些信息,在下载安装包.安装应用到手机时,都是非常有用的. 目前,安卓应用的分发市场很多,但不需要所有的市场都要上传一遍,尤其是覆盖用户数量小的分发市场.常见的分发市场有: 百度系:百度手机助手.91手机助手.安卓市场 360手机助手.淘宝手机助手.小米手机助手.腾讯应用宝.豌豆荚.机锋市场等这

Android Market google play store帐号注册方法流程 及发布应用注意事项【转载】

[转载]http://www.cnblogs.com/zdz8207/archive/2012/07/09/google-play-store-registered.html Android Market google play store帐号注册方法流程 及发布应用注意事项 Android Market google play store帐号申请 注册方法流程 在 Google Play 中发布软件之前,您需要完成以下三项工作: 创建开发人员个人资料 接受开发人员分发协议 通过信用卡支付注册费

Android Framework 分析---PackageManager 分析

在windowphone,ios和android中到目前为止,还是android的市场份额最大.个人认为除了google开源外,广大开发者早就了android的霸主地位.各位兄弟姐妹开发出各种各样的apk,才组成android的广阔天下.本篇主要分析一下android系统是针对处理这些apk的,主要涉及到pm这块的代码.分析这种底层服务,最好从android的开启启动流程中开始分析.因为这样才能更清楚的了解服务的启动流程. 1.在SystemServer.java 中启动PM android 开

Android app去应用市场评分功能

因为android市场很多,去各个应用市场评分的功能却不是很难实现. private void gotoRate(){ Uri uri = Uri.parse("market://details?id=" + getPackageName()); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(goToMarket); } catch (ActivityNotFoundExcept

【转】发布android app到android market的方法

转载自: http://www.stwind.org/android-market 给你的程序签名 注意事项: 所有提交到Market的程序必须经过签名.未经签名的程序不能安装. 你可以使用个人证书去签名程序,不一定要经证书机构授权. 用Debug版本证书签名的程序将不能发布. 在安装程序时会检测签名证书是否过期. 如果程序在安装后证书过期,程序也能正常使用. 你可以使用keytool和Jarsigner产生密钥并签名你的程序. 你的程序在签名后还需要使用zipalign去优化. 建议: 用同一