導航:首頁 > 源碼編譯 > 安卓主題包源碼

安卓主題包源碼

發布時間:2022-12-13 06:12:41

android版的QQ主題和皮膚切換是如何實現的,求思路,求源碼

根據我開發的經驗,他可能運用了布局裡邊的 merge標簽,來編寫一個公用的布局,然後你改皮膚的時候應該就是在這里邊修改! 同樣主題的話,應該和皮膚類似,具體就不知道了,這只是我的經驗!

② github 上有什麼價值的android 源碼

1. ActionBarSherlock

ActionBarSherlock應該算得上是GitHub上最火的Android開源項目了,它是一個獨立的庫,通過一個API和主題,開發者就可以很方便地使用所有版本的Android動作欄的設計模式。

對於Android
4.0及更高版本,ActionBarSherlock可以自動使用本地ActionBar實現,而對於之前沒有ActionBar功能的版本,基於
Ice Cream Sandwich的自定義動作欄實現將自動圍繞布局。能夠讓開發者輕松開發一款帶動作欄(Action
bar)的應用,並且適用於Android 2.x及其以上所有版本。

詳情請參考:ActionBarSherlock

2. facebook-android-sdk

Facebook SDK for Android是一個開源庫,允許開發者將Facebook集成到所開發的Android應用中。

如果想要獲取更多關於示例、文檔、將SDK集成到App中、源代碼等信息,可直接登陸Facebook Developers查看。

3. SlidingMenu(SlidingMenu Demos)

SlidingMenu是一個開源的Android庫,能夠讓開發者輕松開發一款應用,實現類似於Google+、Youtube和Facebook應用中非常流行的滑動式菜單。

使用SlidingMenu的Android應用:

Foursquare
Rdio
Plume
VLC for Android
ESPN ScoreCenter
MLS MatchDay
9GAG
Wunderlist 2
The Verge
MTG Familiar
Mantano Reader
Falcon Pro (BETA)
MW3 Barracks

4. cocos2d-x

在移動開發領域,將Cocos2D-X用於主流iOS/Android游戲開發的公司、開發團隊多不勝數。cocos2d-x是一個開源的支持多平
台的2D游戲框架,使用C++開發,基於cocos2d-iphone,在MIT許可證下發布。主分支在GitHub上使用OpenGL ES
2.0渲染,而舊版gles11分支則使用OpenGL ES 1.1渲染。

支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、linux等多個平台。支持C++、Lua、javaScript編程語言。

5. android

GitHub Android App是
GitHub開源的Android客戶端,支持Issues、Gists,並集成了新聞Feed,能夠讓你及時跟進組織及關注的開發者、庫等。同時,該應
用還提供了一個用戶快速訪問你所創建、監控及發布issue的面板,可查看並將問題加入到收藏夾,可對標簽、里程碑和任務進行過濾配置。

android資源庫包含了GitHub Android App的所有源代碼。

6. Android-ViewPagerIndicator

ViewPager指針項目,在使用ViewPager的時候能夠指示ViewPager所在的位置,就像Google Play中切換的效果一樣,還能使用在應用初始化的介紹頁面。

兼容Android支持庫的ViewPager及ActionBarSherlock,最初是基於Patrik Åkerfeldt的ViewFlow,開發者可以直接登陸Google Play下載該項目的演示應用。

7. MonoGame

MonoGame是一個Microsoft XNA 4.x Framework的開源跨平台實現。用於讓XNA開發者將他們在Xbox
360、Windows & Windows Phone上開發的游戲移植到iOS、Android、Mac OS
X、Linux及Windows 8 Metro上,目前,PlayStation Mobile & Raspberry
PI的開發正在進行中。

詳情請參考:MonoGame

8. Android-PullToRefresh

該項目用於為Android提供一個可重用的下拉刷新部件。它最初來源於Johan Nilsson的庫(主要是圖形、字元串和動畫),但這些後來都已被取代。

9. android-async-http

android-async-http是Android上的一個非同步、基於回調的HTTP客戶端開發包,建立在Apache的HttpClient庫上。

10. Android-Universal-Image-Loader

Android上最讓人頭疼的莫過於從網路獲取圖片、顯示、回收,任何一個環節有問題都可能直接OOM,這個項目或許能幫到你。

Universal Image Loader for Android的目的是為了實現非同步的網路圖片載入、緩存及顯示,支持多線程非同步載入。它最初來源於Fedor Vlasov的項目,且自此之後,經過大規模的重構和改進。

11. GreenDroid

GreenDroid最初是由Cyril Mottier發起,是一個Android的UI開發類庫,能夠讓UI開發更加簡便,並且在應用中始終保持一致。

詳情請參考:Cyril Mottier's Blog

12. Anki-Android

AnkiDroid是一個免費、開源的Android的快閃記憶體應用,可直接從Google Play進行下載。

詳情請參考:ankidroid

13. android-actionbar

Action
bar是一個標識應用程序和用戶位置的窗口功能,並且給用戶提供操作和導航模式。在大多數的情況下,當開發者需要突出展現用戶行為或在全局導航的
activity中使用action bar,因為action
bar能夠使應用程序給用戶提供一致的界面,且系統能夠很好地根據不同的屏幕配置來適應操作欄的外觀。

Action bar的主要目的:

提供一個用於識別應用程序的標示和用戶的位置的專用空間。
在不同的應用程序之間提供一致的導航和視覺體驗。
突出Activity的關鍵操作,並且在可預見的方法內給用戶提供快捷的訪問。

14. android-viewflow

android-viewflow是Android平台上的一個視圖切換的效果庫,ViewFlow相當於Android UI部件提供水平滾動的ViewGroup,使用Adapter進行條目綁定。

15. android-mapviewballoons

當使用Android地圖外部庫(com.google.android.maps)時,android-mapviewballoons會提供一個簡單的方式來對地圖覆蓋進行標注,就是一個簡單的信息氣泡。

它由BalloonOverlayView組成,是一個代表顯示你的MapView及BalloonItemizedOverlay的氣泡的視圖,BalloonItemizedOverlay是ItemizedOverlay的一個抽象擴展。

16. PushSharp

一個向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8設備發送推送通知的伺服器端庫。

17. androidannotations

Android Annotations是一個開源的框架,用於加速 Android應用的開發,可以讓你把重點放在功能的實現上,簡化了代碼,提升了可維護性。

18. HockeyKit

Hockey是一個iOS Ad-Hoc自動更新框架。蘋果App
Store中的所有App都可以使用它,它能夠顯著地提高Beta測試的整個過程,分為兩部分:伺服器和客戶端框架。伺服器組件需要所有腳本,但在沒有客
戶端庫的情況下,也可以單獨工作。它提供一個Web介面,Beta測試者可以使用它來安裝最新的AdHoc配置文件,也可以直接在設備上通過Safari
安裝最新的Beta版本。

只需在伺服器上安裝一次服務端,就可以處理包標識符不同的多個應用程序(有開發者強烈建議對Debug、AdHoc Beta和AppStore發布版使用不同的包標識符)。
默認當App啟動或喚醒時,客戶端會從伺服器檢測更新,用戶可以在設置對話框中進行修改:一天一次或手動檢查更新。
除了支持iOS,HokeyKit也支持Android平台,不過Android版還處在Alpha階段,支持OTA及應用內更新。
為HockeyKit用戶提供伺服器託管服務。

19. android-menudrawer

Android上的菜單展示風格各異,其中用得最多且體驗最好的莫過於左右滑動來顯示隱藏的菜單,android-menudrawer是一個滑動
式菜單實現,允許用戶在應用當中實現無縫導航。該項目具有多種菜單展示效果,其中最常見的就是通過屏幕邊緣拖動或點擊動作欄的「向上」按鈕顯示。

實現功能:

菜單可以沿著四個邊放置。
支持附加一個始終可見、不可拖動的菜單。
菜單的內容和整個窗口都可以隱藏。
可用於XML布局。
顯示當前可見屏幕的指示器。

20. android-flip

Aphid FlipView是一個能夠實現Flipboard翻頁效果的UI組件。

③ 怎麼下載安卓源碼完整版啊!現有的源碼好多點不進去,求助啊,想要深入學習學習

frameworks\base\core\java\android\app\ApplicationPackageManager.java
這個文件定義ApplicationPackageManager類,繼承並實現了PackageManager中介面;
ApplicationPackageManager使用mPM變數,這個變數是PackageManagerService的客戶端(IBinder對象),調用mPM對象中的方法,實際調用到了frameworks\base\services\java\com\android\server\pm\PackageManagerService.java文件中
的方法。
這是Java層中Binder的使用方式。
通過 grep -rnsw "extends PackageManager" * 可以找到PackageManager的實現。經常要用Linux中grep命令來查找文件。

④ 自己可以編譯安卓源碼嗎

用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:

sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」

其中[email protected]為你自己的郵箱.

簡要說明

android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.

源碼下載

由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)

repo工具下載及安裝

通過執行以下命令實現repo工具的下載和安裝

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:

我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:


這里寫圖片描述

執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.

錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.

    結束吧

    到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    ⑤ 求大神幫我把安卓源碼生成apk

    告訴你操作的方法吧,如果不介意可以將源碼發我給你打包

    (使用eclipse)
    1、第一種方式(打包不帶簽名):的apk可以直接運行項目,然後可以在項目的bin文件夾中找到apk文件

    2、第二種方式(打包不帶簽名):選擇需要打包的項目,滑鼠右鍵-》Android Tools-》選擇Export UnSigned Application Package-》然後選擇apk存放的路徑即可
    3、第三種方式(打包帶簽名):選擇需要打包的項目,滑鼠右鍵-》Android Tools-》選擇Export Signed Application Package-》然後選擇要導出的項目-》選擇Create new keystore-》選擇存放的路徑-》輸入密碼和確認密碼-》然後填寫apk相應的信息即可

    ⑥ 怎麼製作安卓手機主題

    可以通過91手機助手完成自己DIY主題。http://wenku..com/link?url=mLdlPP71iiUSqYfB29asbe-laSo212ZYmdkpX__uWZq,這是一篇詳細教程,詳細教你製作安卓手機主題

    ⑦ Android源碼解析Window系列第(一)篇---Window的基本認識和Activity的載入流程

    您可能聽說過View ,ViewManager,Window,PhoneWindow,WindowManager,WindowManagerService,可是你知道這幾個類是什麼關系,幹嘛用的。概括的來說,View是放在Window中的,Window是一個抽象類,它的具體實現是PhoneWindow,PhoneWindow還有個內部類DecorView,WindowManager是一個interface,繼承自ViewManager,它是外界訪問Window的入口,,提供了add/remove/updata的方法操作View,WindowManager與WindowManagerSerice是個跨進程的過程,WindowManagerService的職責是對系統中的所有窗口進行管理。如果您不太清楚,建議往下看,否則就不要看了。

    Android系統的Window有很多種,大體上來說,Framework定義了三種窗口類型;

    這就是Framework定義了三種窗口類型,這三種類型定義在WindowManager的內部類LayoutParams中,WindowManager講這三種類型 進行了細化,把每一種類型都用一個int常量來表示,這些常量代表窗口所在的層,WindowManagerService在進行窗口疊加的時候,會按照常量的大小分配不同的層,常量值越大,代表位置越靠上面, 所以我們可以猜想一下,應用程序Window的層值常量要小於子Window的層值常量,子Window的層值常量要小於系統Window的層值常量。 Window的層級關系如下所示。

    上面說了Window分為三種,用Window的type區分,在搞清楚Window的創建之前,我們需要知道怎麼去描述一個Window,我們就把Window當做一個實體類,給我的感覺,它必須要下面幾個欄位。

    實際上WindowManager.LayoutParams對Window有很詳細的定義。

    提取幾個重要的參數

    Window是一個是一個抽象的概念,千萬不要認為我們所看到的就是Window,我們平時所看到的是視圖,每一個Window都對應著一個View,View和Window通過ViewRootImpl來建立聯系。有了View,Window的存在意義在哪裡呢,因為View不能單獨存在,它必須依附著Window,所以有視圖的地方就有Window,比如Activity,一個Dialog,一個PopWindow,一個菜單,一個Toast等等。

    通過上面我們知道視圖和Window的關系,那麼有一個問題,是先有視圖,還是先有Window。這個答案只有在源碼中找了。應用程序的入口類是ActivityThread,在ActivityThread中有performLaunchActivity來啟動Activity,這個performLaunchActivity方法內部會創建一個Activity。

    如果activity不為null,就會調用attach,在attach方法中通過PolicyManager創建了Window對象,並且給Window設置了回調介面。

    PolicyManager的實現類是Policy

    這樣Window就創建出來了, 所以先有Window,後有視圖,視圖依賴Window存在 ,再說一說視圖(Activity)為Window設置的回調介面。

    Activity實現了這個回調介面,當Window的狀態發生變化的時候,就會回調Activity中實現的這些介面,有些回調介面我們還是熟悉的,dispatchTouchEvent,onAttachedToWindow,onDetachedFromWindow等。

    下面分析view是如何附屬到window上的,通過上面可以看到,在attach之後就要執行callActivityOnCreate,在onCreate中我們會調用setContentView方法。

    getWindow獲取了Window對象,Window的具體實現類是PhoneWindow,所以要看PhoneWindow的setContentView方法。

    這里涉及到一個mContentParent變數,他是一個DecorView的一部分,DecorView是PhoneWindow的一個內部類,我先介紹一下關於DecorView的知識。

    DecorView是Activity的頂級VIew,DecorView繼承自FrameLayout,在DecorView中有上下兩個部分,上面是標題欄,下面是內容欄,我們通過PhoneWindow的setContentView所設置的布局文件是加到內容欄(mContentParent)裡面的,View層的事件都是先經過DecorView在傳遞給我們的View的。

    OK在回到setContentView的源碼分析,我們可以得到Activity的Window創建需要三步。

    - 1、 如果沒有DecorView,在installDecor中創建DecorView。

    - 2、將View添加到decorview中的mContentParent中。

    - 3、回調Activity的onContentChanged介面。

    先看看第一步,installDecor的源碼

    installDecor中調用了generateDecor,繼續看

    直接給new一個DecorView,有了DecorView之後,就可以載入具體的布局文件到DecorView中了,具體的布局文件和系統和主題有關系。

    在看第二步,將View添加到decorview中的mContentParent中。

    直接將Activity視圖加到DecorView的mContentParent中,最後一步,回調Activity的onContentChanged介面。在Activity中尋找onContentChanged方法,它是個空實現,我們可以在子Activity中處理。

    到此DecorView被創建完畢,我們一開始從Thread中的handleLaunchActivity方法開始分析,首先載入Activity的位元組碼文件,利用反射的方式創建一個Activity對象,調用Activity對象的attach方法,在attach方法中,創建系統需要的Window並為設置回調,這個回調定義在Window之中,由Activity實現,當Window的狀態發生變化的時候,就會回調Activity實現的這些回調方法。調用attach方法之後,Window被創建完成,這時候需要關聯我們的視圖,在handleLaunchActivity中的attach執行之後就要執行handleLaunchActivity中的callActivityOnCreate,在onCreate中我們會調用setContentView方法。通過setContentView,創建了Activity的頂級View---DecorView,DecorView的內容欄(mContentParent)用來顯示我們的布局。 這個是我們上面分析得到了一個大致流程,走到這里,這只是添加的過程,還要有一個顯示的過程,顯示的過程就要調用handleLaunchActivity中的handleResumeActivity方法了。最後會調用makeVisible方法。

    這裡面首先拿到WindowManager對象,用tWindowManager 的父介面ViewManager接收,ViewManager可以
    最後調用 mDecor.setVisibility(View.VISIBLE)設置mDecor可見。到此,我們終於明白一個Activity是怎麼顯示在我們的面前了。
    參考鏈接:
    http://blog.csdn.net/feiclear_up/article/details/49201357

    ⑧ 安卓源碼包可以刪除哪些文件

    backups文件(手機備份),cache文件(緩存垃圾),tencent內部分文件(記錄、表情包等)......
    最好不要亂刪除文件,容易刪錯導致路徑錯誤,若想清理緩存擴大內存,可下載手機助手進行優化。

    ⑨ 誰有在線製作手機主題的網站源碼

    魔秀就是這樣的站。
    你要源碼?
    兄弟,你真搞笑!!!!

    ⑩ 如何單獨編譯安卓系統源碼指定模塊

    Android源碼目錄下的build/envsetup.sh文件,描述編譯的命令

    - m: Makes from the top of the tree.

    - mm: Builds all of the moles in the current directory.

    - mmm: Builds all of the moles in the supplied directories.

    要想使用這些命令,首先需要在android源碼根目錄執行. build/envsetup.sh 腳本設置環境

    m:編譯所有的模塊

    mm:編譯當前目錄下的模塊,當前目錄下要有Android.mk文件

    mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件

    下面舉個例子說明,假設我要編譯android下的\hardware\libhardware_legacy\power模塊,當前目錄為源碼根目錄,方法如下:

    1、. build/envsetup.sh

    2、mmm hardware/libhardware_legacy/power/

    編譯完後 運行 make snod

    會重新將你改過的模塊打入到system.img中

    閱讀全文

    與安卓主題包源碼相關的資料

    熱點內容
    大連php培訓學校 瀏覽:985
    怎麼指定定向流量app的免流 瀏覽:900
    華為雲伺服器有啥軟體 瀏覽:654
    禮記正義pdf 瀏覽:988
    CorePDF 瀏覽:733
    python多文件調用 瀏覽:329
    linux如何用python 瀏覽:188
    超易學的python 瀏覽:159
    控制面板命令行 瀏覽:51
    為什麼空氣難壓縮是因為斥力嗎 瀏覽:643
    郭天祥單片機實驗板 瀏覽:601
    伺服器有什麼危害 瀏覽:258
    飢荒怎麼開新的獨立伺服器 瀏覽:753
    文件夾變成了 瀏覽:560
    linuxpython綠色版 瀏覽:431
    怎麼下載小愛同學音箱app 瀏覽:554
    python佔位符作用 瀏覽:76
    javajdbcpdf 瀏覽:543
    php網頁模板下載 瀏覽:192
    python試講課pygame 瀏覽:409