當前位置:首頁 » 編程軟體 » 編譯安卓90

編譯安卓90

發布時間: 2022-10-24 12:42:08

1. 如何把安卓系統應用編譯成普通應用

如果是卡刷包的話用打開壓縮包的軟體打開它,進去system/app文件夾裡面有系統應用安裝包把裡面的。apk文件解壓就好了

2. 如何給安卓應用編譯

把常用的應用程序編譯到img文件中,就成了系統的一部分,用戶不必自己安裝,當然也卸載不了;
同時也可以刪減系統自帶的應用程序,精簡系統;

1.\build\target\proct 目錄下generic.mk文件:
java代碼 收藏代碼
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
testMid \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \

我們添加一個testMid \ 應用名稱。
2.把testMid包放入
\packages\apps 目錄下,修改android.mk文件。

Java代碼 收藏代碼
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := testMid
LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

註:LOCAL_PACKAGE_NAME := testMid (包名必須和generic.mk中添加的相同)
編譯源碼,可以看到在
\out\target\proct\smdkv210\system\app
目錄下生存了testMid.apk了。這時system.img也包含了此應用。
-------------------------------------------------------------------
特殊情況:有時,應用需要包含jar包,這時的app導入源碼時會出現問題:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop

由於 LOCAL_STATIC_JAVA_LIBRARIES := libarity 會引發錯誤信息。
目前解決方法是:
\build\core 目錄下修改base_rules.mk
注釋掉錯誤信息:

ifdef $(mole_id)
#$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
endif
$(mole_id) := $(LOCAL_PATH)

--重新編譯,這時可以通過了。

(2)、刪除原廠(Telchips)帶源碼的應用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注釋掉相應語句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同時,在/out/target/proct/m801/system/app 找到相應的.APK包,並刪除

3. 安卓APK回編譯問題!!!!

關於APKTool工具反編譯ROM系統設置文件問題
在反編譯漢化新版的ROM時 發現系統文件無法反編譯,如Settings.apk
主要是因為 ApkTooll 無法讀取系統APK的構架;
那麼,我們需要手動為ApkTool 添加一個新構架文件:
具體方式是:
打開ROM,手機內存上找也行,找到\system\framework\framework-res.apk
提取,隨便放到一個位置注意:由於每個系統ROM不一樣 G3 或其他機型都是不同的,
主要是製造商為ROM添加了其他構架HTC大部分名為resources.apk 或HtcContacts.apk
MOTO 除了resources.apk還有moto-res.apk、blur-res.apk
總之把framework文件夾下的APK文件都用一遍。自定義執行:java -jar apktool.jar if framework-res.apk

根據官方說法如下:HTC機子的安裝如:( linux操作 Win系統類似)第一個文件
$ apktool if com.htc.resources.apk
I: Framework installed to: /home/brutall/apktool/framework/2.apk測試反編譯
$ apktool d HtcContacts.apk
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk 讀取第一個構架
I: Loading resource table from file: /home/brutall/apktool/framework/2.apk 讀取第二個構架
I: Copying assets and libs...
__________________________________________________________________
還有一種情況
如果你反編譯的機型比較多,可以使用多個構架,如:$ apktool if com.htc.resources.apk hero尾部加名稱【hero】
I: Framework installed to: /home/brutall/apktool/framework/2-hero.apk
$ apktool if com.htc.resources.apk desire尾部加名稱【desire】
I: Framework installed to: /home/brutall/apktool/framework/2-desire.apk在反編譯的時候靈活讀取 不同的構架文件,如:$ apktool d -f -t hero HtcContacts.apk命令後添加【-f -t -hero】
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
I: Loading resource table from file: /home/brutall/apktool/framework/2-hero.apk調動讀取【hero】構架
I: Copying assets and libs...
$ apktool d -f -t desire HtcContacts.apk 命令後添加【-f -t -desire】
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
I: Loading resource table from file: /home/brutall/apktool/framework/2-desire.apk調動讀取【desire】構架
I: Copying assets and libs...------------------------------------------------------------------------------------------------
Windows下實例:【第一步安裝構架】
C:\>java -jar c:\apkdb\apktool.jar if d:\framework-res.apk
I: Framework installed to: D:\My Documents\系統文件\apktool\framework\1.apk【測試反編譯Settings.apk】
C:\>java -jar c:\apkdb\apktool.jar d d:\Settings.apk
I: Baksmaling...
I: Loading resource table...
W: Skipping "android" package group
I: Decoding resources...
I: Loading resource table from file: D:\My Documents\系統文件\apktool\framework\
1.apk
I: Copying assets and libs...
OK 成功搞定!注意:由於從C盤更目錄操作的 反編譯後 會保持在C盤
【測試回編譯】C:\>java -jar c:\apkdb\apktool.jar b C:\Settings
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
OK 完成回編譯!
------------------------------------------------------------------------------------------------

4. android編譯的時候 是如何配置默認顯示橫豎屏

1,在Mainfest中設置。同意樓上的。
2,在OnStart或者OnCreate中設置也可以。

如果你說設置系統的話,這個就得看系統源碼是如何配置的,記得不是太清了,在Configure.java裡面吧,有幾個函數是根據一些常量設定每個 橫縱屏的設置。你應該不是做系統的吧,因為不會有任何一個廠商會讓系統所有的內容都定死。

5. 將LINUX軟體編譯成安卓可用的APK

android雖然是基於linux的,但是他們並不是二進制兼容的。
android的工作方式是,在linux系統中運行一個基於qemu的虛擬機,在虛擬機中運行java虛擬機。android程序的api還是以java為主的,所以android是不支持J2sejava程序的。

所以一個隨便的linux程序代碼是不可以編譯成android軟體的。

如果你想在android手機上運行python perl 或者shall腳本的話,是可以的,在android上有專門的終端什麼的。

6. 安卓apk文件如何反編譯

安卓apk文件反編譯:
一、反編譯xml文件
1>
首先下載我給你們提供的文件夾apk_fanbianyi,把它放到某個盤的根目錄下(為了方便輸入dos命令),然後打開apktool文件夾,安裝win+r鍵,然後輸入cmd,進入dos命令行,大家別怕,不用暈,很簡單的。
2>
然後在dos命令中首先輸入文件夾所在盤符+「:」回車,接著再輸入cd+apktool所在目錄,切換dos工作空間到apktool文件夾下。
3>
接著輸入
apktool.bat
d
【需反編譯apk文件路徑】
{【反編譯文件反編譯後的路徑】},其中最後一部分可以省去,系統會默認把apk文件反編譯到apktool目錄下,例如輸入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夾下就會生成一個ttpk的文件夾,所有的xml文件全部反編譯成功。
二、反編譯java文件
1>
首先解壓需要反編譯的apk文件,拷貝出裡面的classes.dex文件到dex2jar文件夾(為了方便操作,省去dos命令輸入路徑的麻煩)
2>
把工作空間切換到dex2jar文件夾下,輸入命令cd
d:/apk_fanbianyi/dex2jar回車
3>
輸入命令dex2jar.bat
classes.dex回車,發現dex2jar文件夾下多了一個classes_dex2jar.jar文件,這是反編譯成功的java文件
三、xml文件的打開
1>
打開apktool文件夾下的ttkp文件夾,任意找到一個xml文件,選中單擊右鍵,選擇notepad++打開(需下載),如果沒有此軟體,可以選擇打開方式,選擇記事本打開
四、java文件的打開
1>
dex2jar文件夾下的classes_dex2jar.jar拷貝到apktool文件夾的ttkp文件夾中,不能用notepad++打開,不然會亂碼的
2>
啟動apk_fanbianyi文件夾下的jd-gui.exe,然後點左上角file,選擇open
file,找到classes_dex2jar.jar文件,可以發現有很多包,選擇包下的任意一個java文件,打開不亂碼了,是不是很神奇,哈哈,你學會了安卓apk文件反編譯

7. 安卓怎麼使用修改過的源碼編譯程序

1、Android的文件系統結構是怎樣的,我們安裝的程序放在那裡?
編譯Android源碼之後,在out/target/proct/generic一些文件:
ramdisk.img、system.img、userdata.img、 system、 data、root
其中, system.img是由 system打包壓縮得到的, userdata.img是由 data打包壓縮得到的。

ramdisk.img是模擬器的文件系統,把ramdisk.img解壓出來可知道,ramdisk.img里的文件跟root文件夾的文件基本一樣。模擬器裝載ramdisk.img並解壓到內存,接著分別把system.img和userdata.img掛載到 ramdisk下的system和data目錄。我們編譯出來的應用程序就是放在system/app下的。用戶安裝的程序則是放在data/app下。

2、Android SDK和android源碼能為我們提供什麼工具?
AndroidSDK提供有很多工具,如adb,ddms,emulator,aapt等,並提供kernel-qemu、ramdisk.img、system.img、userdata.img。因此,只要有android SDK,我們就可以在模擬器上把android跑起來。
Android源碼可以編譯出android SDK、adb等工具、android文件系統,以及ADT插件,也就是說,我們可以從android源碼編譯出所有android相關的東西。

3、 把Android源 碼」make」之後會生成許多工具和android文件系統(system.img等),我們又可以使用「makesdk」來生成android SDK,android
SDK也包括有工具和android文件系統(system.img等),而原來安裝的時候我們也安裝了androidSDK,那麼我們在開發時應該使用那些工具和android文件系統呢?

8. 求安卓軟體反編譯修改教程

1、baksmali:classes.dex反編譯為smali格式

(smali:smali格式編譯打包為classes.dex,但由於smali格式類似匯編,比較難閱讀,所以用dex2jar進行輔助 )
2、dex2jar:classes.dex轉為jar包
3、jdgui:jar反編譯並閱讀

操作順序:

apk用zip解開,裡面的classes.dex分別用baksmali處理為smali,用dex2jar處理成jar,然後用jdgui看代碼,找好java文件中要改的位置後,在smali里找對應的位置修改,改完了用smali再編譯為classes.dex,覆蓋原來apk里的同名文件,最後重新簽名。注意安裝時要先刪除原來手機里的版本,因為簽名不同。

熱點內容
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:477
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:194
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:239
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:421
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:638
少女前線防檢測腳本 發布:2025-05-16 08:59:07 瀏覽:728
編譯器對系統的依賴 發布:2025-05-16 08:37:29 瀏覽:711
javamap數組 發布:2025-05-16 08:37:28 瀏覽:451
移動光貓如何自行修改密碼 發布:2025-05-16 08:20:15 瀏覽:125