當前位置:首頁 » 安卓系統 » android編譯代碼

android編譯代碼

發布時間: 2023-03-08 04:10:18

⑴ Linux命令行怎麼編譯Android代碼

這個問題已經找到解決方案了,方法如下:
1.在Linux設置文件共享,將項目
共享,最好有個密碼什麼的。
2.在Linux上配置ssh server,用於
和編譯安卓源碼
3.Linux mac 通過
連接,原因是有線傳輸比無線的快很多,ping只是0.3左右ms,不影響使用。然後就可以mac編寫代碼,然後ssh
編譯什麼的,很方便,

⑵ android 修改代碼怎樣編譯

1: ./mk n(r) kernel; ./mk bootimage;當修改kernel相關代碼時,具體如下:
alps/kernel/
alps/mediatek/platform/mt65xx/kernel/
alps/mediatek/source/kernel/
alps/mediatek/customer/mt65xx/kernel/
alps/mediatek/customer/common/kernel/
alps/mediatek/customer/$porject_name$/kernel
......
2: ./mk n pl 當修改preloader相關代碼時, 具體如下:
alps/mediatek/platform/mt65xx/preloader/
alps/mediatek/source/preloader/
alps/mediatek/customer/mt65xx/preloader/
alps/mediatek/customer/common/preloader/
alps/mediatek/customer/$porject_name$/kernle
......
3: ./mk uboot 當修改uboot相關代碼時,具體如下:
alps/mediatek/platform/mt65xx/uboot/
alps/mediatek/source/uboot/
alps/bootable/bootloader/uboot/
alps/mediatek/customer/mt65xx/uboot/
alps/mediatek/customer/common/buoot/
alps/mediatek/customer/$porject_name$/uboot/
......
4: ./mk systemimage 當修改system相關代碼時,具體如下:
alps/frameworks/
alps/packages/
alps/vendor/
alps/hardware/
alps/dalvik/
...........
5: ./mk recoverimage 當修改recover相關代碼時,具體如下:
alps/bootable/recovery/
alps/mediatek/customer/$project_name$/recovery/
......
6: ./mk factoryimage: 當修改factory相關代碼時使用此命令,具體如下:
alps/mediatek/customer/$project_name$/factory/
alps/mediatek/customer/common/factory/
alps/mediatek/source/factory/
......
7: ./mk secroimage 當修改secro相關代碼時,具體如下:
alps/mediatek/source/secro/
alps/mediatek/customer/$project_name$/secro/
.....

⑶ android如何把apk的工程代碼放到源碼目錄下編譯

啥平台的,是原生的還是高通的還是mtk的?反正都類似,你需要一個Android.mk然後源碼需要整體new過。然後編譯的時候編譯到Android.mk所在目錄就可以了。反正我現在接觸mtk平台的,new代碼方法如下:1、首先到XXXXXX/L23_XXXXXXX_AN5.1_MT6735_65C_L1.MP3.V1.8.9_150503/android_mtk_6753_mp目錄下,使用如下命令./TmakeGionee
BFL7506A
-p
packages/apps/XXXXX(XXXXXX就是你apk代碼所存放的並且與Android.mk同級的目錄)。

⑷ 如何在Ubuntu編譯Android2.3源代碼以及製作自己的SDK

網上下一個軟碟通軟通(UitraISO)工具、然後去官網上下載一個64位ubuntu.*.iso系統文件、然後軟碟通工具自己製作一個USB啟動盤(非常簡單)不會用軟碟通的網路一下一大把!、系統最好是10.40以上的版本

使用的是ubuntu官網下載的ubuntu10.04 LTS 64位版本(ubuntu-10.04.2-desktop-amd64.iso)

配置軟體源:

系統安裝完畢以後應該首先換一個速度快的軟體源

一般用的是ubunt

不然下載各種更新和軟體包的時候非常的慢

安裝JDK:

我要編譯的是2.3姜餅的源代碼 所以需要使用jdk6 (還需要是64位的系統)

如果是32為系統藐視jdk要安裝jdk5.0的吧!藐視說有個doc什麼的不行!所以系統一般裝64的、如果是32的小伙們趕快把jdk看看

安裝方法:

打開終端

輸入

sudo add-apt-repository "deb "

sudo add-apt-repository "deb-src "

sudo apt-get update

sudo apt-get install sun-java6-jdk

就安裝好了 (ubuntu10.04 LTS版會自帶那兩個源)

並且不需要配置環境變數

這一步可以參考

安裝各種軟體包:

終端中輸入

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos texinfo libsdl-dev libwxgtk2.6-dev

最後三個是我補充的 其他都是官方文檔提供的

這一步可以參考

下載源代碼:

打開終端並輸入

mkdir ~/bin

PATH=~/bin:$PATH

這兩句是在你的個人文件夾下創建了一個名字叫bin的文件夾 並且把其加入到了環境變數中

再輸入

curl ; ~/bin/repo

chmod a+x ~/bin/repo

這兩句首先在bin目錄下面下載了一個repo文件 repo簡單來說就說用來版本控制的 我們就是用的它來同步代碼

然後建立一個用來存放源代碼的文件夾 我的這個文件夾的名字是android2.3

輸入

mkdir android2.3

cd android2.3

進入android2.3目錄

輸入

repo init -u git://androi/platform/manifest.git -b gingerbread

在此說明一下:

安卓總稱:「機器人」

1.5系統:「紙杯蛋糕」

Android 1.6 Donut甜甜圈
Android 2.0 Eclair松餅
Android 2.1 Eclair松餅
Android 2.2 Froyo凍酸奶
Android 2.3 Gingerbread姜餅(以上系統都是用於手機的)官方消息說2.4准備出來了!至於3.0目前只用於平板電腦

Android 4.0 Ice Cream Sandwich(簡稱ICS,冰淇淋三明治),

表示你需要的代碼是姜餅的 所以最後是gingerbread 如果是2.2代碼 就把gingerbread改成froyo

然後你需要輸入你的名字跟郵箱地址

如果提示找不到repo命令的話 需要重新設置環境變數 就是之前的PATH=~/bin:$PATH

輸入

repo sync

開始同步代碼 這個過程會根據你的網速來決定快慢

這一步需要下載的數據有3g那麼大

可以續傳 一次沒下完也沒關系

如果之前就已經下過一次的話 只需要把源代碼目錄(我的是android2.3)下有一個叫.repo的隱藏文件夾里的projects文件夾備份出來就可以了

以後還需要同步的時候再把projects文件夾拷貝回去

ctrl+h查看隱藏文件

這一步可以參考

編譯整個源代碼:

cd android2.3

進入你的代碼目錄

輸入

. build/envsetup.sh

注意.和build中間有個空格

輸入

lunch full-eng

make -j2

輸入make就是開始編譯代碼了 加一個-j2參數就是開兩個線程去編譯 速度會快些 我花了兩個小時的時間

編譯完畢以後馬上輸入

emulator

就可以運行模擬器了 系統能跑起來就說明編譯成功了

如果提示找不到emulator命令的話

需要添加環境變數

在android2.3目錄下的out/target/proct/generic文件夾下會看到system.img

能看到的話應該算是成功了

這一步可以參考

編譯SDK:

這一步在官方網站上沒有說明

但是在源代碼文件夾裡面有文檔提到了

就是在android2.3/sdk/docs目錄下有一個叫howto_build_SDK.txt的文件介紹了如何編譯SDK

原文

Then once you have all the source, simply build the SDK using: $ cd ~/my-android-git $ . build/envsetup.sh $ lunch sdk-eng $ make sdk

看來不需要先編譯整個系統再編譯SDK 可以直接上來就編譯SDK

按提示輸入

make到時候也可以加上-j參數 比如 make -j2 sdk

但是不推薦 因為容易編譯失敗 而且編譯SDK只需要二十多分鍾到時間 不算很長

當出現

Package SDK: out/host/darwin-x86/sdk/android-sdk_eng.<build-id>_mac-x86.zip

的時候 就表示編譯成功了 其中<build-id>默認是系統的用戶名

howto_build_SDK.txt中還提到了編譯ADT插件

我發現自己編譯到ADT插件竟然認不到platform 自己編譯出來到SDK也一樣

原因不明

只要使用官方的SDK和ADT就沒有問題了

具體就是把自己編譯出來platform拷貝到官方SDK里到platforms文件夾下 搞過Android開發都懂的

最後:

非常簡單的一步

就是直接修改源代碼然後編譯SDK就可以得到自己的SDK了

我就示範一個簡單的例子 拋磚引玉

首先我找到TextView的代碼

在frameworks/base/core/java/android/widget 如圖

我在updateTextColors方法的開頭添加了一句System.out.println

列印了一句話"Source Code Changed"

updateTextColors方法會在TextView的setTextColor方法中被調用

好 保存

編譯

然後使用這個platform

新建一個項目

調用一下TextView的setTextColor方法看看有什麼效果一個很簡單的例子看看

Source Code Changed被打出來了

SDK修改成功

⑸ 如何將源代碼編譯後的文件編譯到android中

1.將應用程序源碼復制進Android源碼目錄中(提前編譯好源碼)
2.使用build/envsteup.sh 配置shell -
mm TARGET_PRODUCT=proct_name
或直接./build_android.sh 也能完成編譯。
3.在源碼目錄:out/target/proct/proctname/obj/APPS/test_cert_intermediates 下有三個文件:package.apk package.apk.unsigned package.apk.unaligned
將package.apk.unsigned復制出來,單獨進行sign.
4.在Windows下進行sign: jarsigner -verbose -keystore youkey.keystore d:\package.apk.unsigned youkey
5.zipalign -v 4 d:\package.apk.unsigned d:\package.signed.apk

⑹ 如何編譯和調試android源碼中platform/system/core下的代碼

首先在Android源代碼目錄下的build目錄下,有個腳本文件envsetup.sh,執行這個腳本文件後,就可以獲得一些有用的工具:
USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
注意,這是一個source命令,執行之後,就會有一些額外的命令可以使用:
- croot: Changes directory to the top of the tree.
- 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.
- cgrep: Greps on all local C/C++ files.
- jgrep: Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
- godir: Go to the directory containing a file.
這些命令的具體用法,可以在命令的後面加-help來查看,這里我們只關注mmm命令,也就是可以用它來編譯指定目錄的所有模塊,通常這個目錄只包含一個模塊。

⑺ Androidapp證書反編譯代碼

反編譯代碼dex2jar。
在學習android程序的開發過程中,有時候需要借鑒別人的代碼,提升自己的開發水平。
前面說了反編譯,我們當然不希望我們的應用被別人反編譯,所以就得在打包的時候進行代碼混淆,這樣的包也可反編譯出代碼,但是代碼的可讀性很低,從而達到保護代碼的目的。

熱點內容
python練手項目 發布:2025-05-12 11:14:07 瀏覽:121
壓縮聽算音頻 發布:2025-05-12 10:58:12 瀏覽:800
資料庫系統報告 發布:2025-05-12 10:43:17 瀏覽:602
日產高配有哪些配置 發布:2025-05-12 10:32:16 瀏覽:475
大眾朗逸哪個配置值得入手 發布:2025-05-12 10:31:20 瀏覽:505
壓縮包的後綴 發布:2025-05-12 10:20:35 瀏覽:940
煙台招聘編程 發布:2025-05-12 10:04:21 瀏覽:53
sql查詢所有表名 發布:2025-05-12 10:01:28 瀏覽:665
用python編譯器的簡單代碼 發布:2025-05-12 09:48:40 瀏覽:358
香港多ip站群伺服器租用 發布:2025-05-12 09:33:16 瀏覽:896