編輯:關於Android編程
My environments: Ubuntu 11.04
Android source code: Android-4.1.1.1_r4
How to download the Android source code?
Referenced from:http://source.android.com/source/downloading.html
But maybe you will get many error as below, you just need the constancy or re do the "repo sync" command!!
=========Get error:===========================
[plain]
fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/abi/cpp.git'
fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/abi/cpp.git'
error: Cannot fetch platform/abi/cpp
warn: --force-broken, continuing to sync
Fetching projects: 3% (7/228) fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/cts.git'
fatal: Not a git repository: '/home/yourname/android_source/.repo/projects/cts.git'
error: Cann ot fetch platform/cts
warn: --force-broken, continuing to sync
error: The requested URL returned error: 403 while accessing https://android.googlesource.com/platform/development/info/refs
fatal: HTTP request failed
error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing https://android.googlesource.com/platform/ development/info/refs
fatal: HTTP request failed
error: Cannot fetch platform/development
warn: --force-broken, continuing to sync
========Sovle above problem:============================
[plain]
cxl@cxl-ThinkPad-E420:~/android_source/.repo/projects/abi$ rm -f -r cpp.git
cxl@cxl-ThinkPad-E420:~/android_source/.repo/projects/rm -f -r cts.git
========Finish download the source code=================
[plain]
cxl@cxl-ThinkPad-E420:~/android_source$ repo sync
......
* [new tag] android-4.1.1_r4 -> android-4.1.1_r4
remote: Counting objects: 1, done
remote: Finding sources: 100% (1/1)
remote: Total 1 (delta 0), reused 1 (delta 0)
Unpacking objects: 100% (1/1), done.
From https://android.googlesource.com/platform/packages/apps/BasicSmsReceiver
* [new tag] android-4.1.1_r4 -> android-4.1.1_r4
remote: Counting objects: 65, done
remote: Finding sources: 100% (40/40)
remote: Getting sizes: 100% (40/40)
remote: Compressing objects: 100% (15/15)
remote: Total 40 (delta 21), reused 36 (delta 21)
Unpacking objects: 100% (40/40), done.
From https://android.googlesource.com/platform/sdk
9d34dab..0920b8e master -> aosp/master
Fetching projects: 100% (294/294), done.
info: A new version of repo is available
project .repo/repo/
Updating e8f75fa..5e7127d
Fast-forward
docs/manifest-format.txt | 13 ++++-
git_command.py | 2 +-
manifest_xml.py | 19 ++++--
project.py | 148 +++++++++++++---------------------------------
subcmds/overview.py | 80 +++++++++++++++++++++++++
subcmds/sync.py | 6 +-
subcmds/upload.py | 5 +-
7 files changed, 157 insertions(+), 116 deletions(-)
create mode 100644 subcmds/overview.py
info: Restarting repo with latest version
Fetching projects: 100% (294/294), done.
Checking out files: 100% (4587/4587), done.ut files: 36% (1666/4587)
Checking out files: 100% (6222/6222), done.out files: 26% (1625/6222)
Checking out files: 100% (8843/8843), done. out files: 8% (755/8843)
Checking out files: 100% (24601/24601), done.ut files: 40% (9923/24601)
Checking out files: 100% (17893/17893), done.ut files: 8% (1465/17893)
Checking out files: 100% (624/624), done.
Checking out files: 100% (974/974), done.ng out files: 1% (12/974)
Checking out files: 100% (667/667), done.ng out files: 15% (104/667)
Checking out files: 100% (370/370), done.ng out files: 8% (30/370)
Checking out files: 100% (2407/2407), done. out files: 29% (720/2407)
Checking out files: 100% (2412/2412), done. out files: 1% (27/2412)
Checking out files: 100% (974/974), done.
Checking out files: 100% (26958/26958), done.ut files: 32% (8780/26958)
Checking out files: 100% (81/81), done.
Checking out files: 100% (441/441), done.ng out files: 46% (205/441)
Checking out files: 100% (4344/4344), done.
Syncing work tree: 100% (294/294), done.
-----------------------------------------------------Below is another solution, but it is not fix my problem,my be you can try it-----------------------------------------------------------
The error:
[plain] view plaincopyprint?
Exception in thread Thread-119:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 505, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/cxl/android_source/.repo/repo/subcmds/sync.py", line 200, in _FetchHelper
clone_bundle=not opt.no_clone_bundle)
File "/home/cxl/android_source/.repo/repo/project.py", line 968, in Sync_NetworkHalf
and self._ApplyCloneBundle(initial=is_new, quiet=quiet):
File "/home/cxl/android_source/.repo/repo/project.py", line 1526, in _ApplyCloneBundle
exist_dst = self._FetchBundle(bundle_url, bundle_tmp, bundle_dst, quiet)
File "/home/cxl/android_source/.repo/repo/project.py", line 1590, in _FetchBundle
raise DownloadError('%s: %s ' % (req.get_host(), str(e)))
DownloadError: android.googlesource.com: <urlopen error [Errno 8] _ssl.c:503: EOF occurred in violation of protocol>
error: RPC failed; result=56, HTTP code = 200B
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
warning: https unexpectedly said: '0000'
error: Cannot fetch platform/external/qemu
===========solution:==========================
[plain]
(http://source.android.com/source/downloading.html)有段說明,如果認真執行就可解決。
1. 浏覽器登錄https://android.googlesource.com/new-password,並用gmail帳號登錄;
2. 點擊網頁上的“允許訪問”,得到類似:
[plain]
1. machine android.googlesource.com login git-<userName>.gmail.com password <password>
2. machine android-review.googlesource.com login git-<userName>.gmail.com password <password>
的信息。
3. 把上面那段信息(<userName>和<password>用自己得到的真實信息)追加到~/.netrc文件結尾;
4. 下載地址的URI更改為https://android.googlesource.com/a/platform/manifest(中間加上了“/a”)。
然後按照官網描述的正常步驟操作,即可拉下Android源碼。
官方的說法是:因為訪問基本是匿名的,為了防止連接過多,對同一IP地址的連接數做了一定的限制。看來是用gmail帳號進行認證。 www.2cto.com
這樣的話,在公司網絡內或者用虛擬機下載的話,會經常遇到這問題。
作者:iamcxl369
在Android中,JSBridge已經不是什麼新鮮的事物了,各家的實現方式也略有差異。大多數人都知道WebView存在一個漏洞,見WebView中接口隱患與手機掛馬利用
簡單的IM聊天程序由於項目需要做一個基於XMPP協議的Android通訊軟件。故開始研究XMPP。XMPP協議采用的是客戶端-服務器架構,所有從一個客戶端發到另一個客戶端
接觸android開發也有一段時間了,對打包簽名有所了解,但都是皮毛,一點不深入。今天結合網絡上的資料和自己的實踐,盤點下相關內容,打消自己的一些疑問,順便做一下總結。
該功能實現很簡單,就是根據手指坐標位置在畫板上畫 1.效果圖 2.代碼實現 public class ErinieShow extends