android源碼分享
❶ 如何使用Android Studio開發/調試Android源碼
Android Studio有兩種調試模式可供參考,一個是直接進入調試模式,另一個是進程調試(以下均是android studio的截圖)
一、調試模式
經驗:一般來說,當程序一啟動等等不好一個界面一個步驟的跟蹤的時候,可以採用第一個方式,當只需要調試某一個界面/某一個執行步驟的時候,可以採用第二種方式,當然也可以加上Log日誌來配合調試。
❷ 有沒有適合 Android 開發初學者的 App 源碼推薦
其實谷歌的很多功能軟體都是開源的,閱讀他們你會發現很多很好的設計思想等等,現在谷歌已經有了中文的網站
❸ 求android源碼下載地址,就像學學源碼的原理
Google剛剛公布,穩定版的Android源代碼已經公布,任何人都可以免費下載。Google希望通過公布源代碼,電信運營商和手機製造商,乃至一般開發者們進一步深刻了解和利用Android系統,從而有益於該平台下的的發展。
看來T-Mobile G1不一定打得過iPhone,那麼Android呢?
現在源代碼公布在http://source.android.com/,SDK網站是http://code.google.com/android/
❹ 如何使用Android Studio開發/調試Android源碼
一、修改Android
Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文檔中使用的是748m,
可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK,
這樣可以確保使用源碼里的庫文件
三、生成導入AS所需配置文件(*.ipr)
①編譯源碼(為了確保生成了.java文件,如R.java;如果編譯過,則無需再次編譯)
②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
如果idegen.jar不存在,執行:
mmm
development/tools/idegen/
在5.0.1的源碼中會生成res.java的文件夾,導致idegen.jar運行時拋FileNotFoundException,這是idegen的代碼不夠嚴謹造成的。
我的分享里有修改這個bug的patch,或者直接使用我分享的idegen.jar。
③執行
development/tools/idegen/idegen.sh
等待出現類似下面的結果:
Read
excludes:
5ms
Traversed
tree:
44078ms
這時會在源碼的根目錄下生成android.ipr和android.iml兩個IntelliJ
IDEA(AS是基於IntelliJ
IDEA社區版開發的)的配置文件
④在AS中打開源碼根目錄下新生成的android.ipr
四、解決源碼中跳轉錯誤問題
①為當前工程設置正確的SDK和JDK
②設置'Moles'的依賴
先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars
or
directories'選項,依次將frameworks和external文件夾添加進來
五、DEBUG源碼
可以通過給剛導入的工程在'Moles'中添加'Android
Framework'來讓AS將它作為一個Android工程,從而方便調試代碼.
在彈出的選擇進程(Choose
Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
六、其它
代碼中很多地方提示Call
requires
API
Level
x....
出現這個問題是因為AS將工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
也可以考慮使用build.gradle來解決該問題。
❺ 如何使用Android Studio開發/調試Android源碼
本文是以源碼中development/tools/idegen/README作為指導文檔.
環境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源碼
由於AS是基於IntelliJ IDEA開發的,所以本文也適用於IntelliJ IDEA
一、修改Android Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件
在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
六、其它
代碼中很多地方提示CallrequiresAPILevelx.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
也可以考慮使用build.gradle來解決該問題。
❻ 求android7.0源碼下載地址。
剛裝了UBUNTU14.04,所以嘗試在新環境下編譯一下android源碼。
因為和諧原因,我臨時買了個VPN,推薦一下(還算穩定):http://a.wy002.com/34750 或者雲梯
1、參考鏈接(官方):
環境:http://source.android.com/source/initializing.html
下載:http://source.android.com/source/downloading.html
編譯:http://source.android.com/source/building-running.html
❼ 求一簡單ANDROID源碼
main.xml
<?xml version="1.0" encoding="utf-8"?>讓猛
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText android:id="@+id/edit" android:layout_width="200dp" android:layout_height="wrap_content"></EditText>
<Button android:id="@+id/bt" android:text="click" android:layout_width="wrap_content" android:layout_height="wrap_content">猜滑皮<穗差/Button>
<TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>
test.java:
package com.android.test;
import java.text.DecimalFormat;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class test extends Activity {
/** Called when the activity is first created. */
TextView tv;
Button bt;
EditText edit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
bt = (Button) findViewById(R.id.bt);
edit = (EditText) findViewById(R.id.edit);
bt.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
String strEdit = edit.getText().toString();
float input = Float.parseFloat(strEdit);
Float output = input / 3;
DecimalFormat df = new DecimalFormat("0.##");
tv.setText(df.format(output));
}});
}
}
你試試哈