當前位置:首頁 » 安卓系統 » androidapk資源

androidapk資源

發布時間: 2023-03-14 02:22:46

1. apk文件在安卓手機怎麼打開方式

apk文件在安卓手機打開方式如下:

1、第一步,先在手機中找到需要打開的apk文件,點擊打開,如下圖所示。

(1)androidapk資源擴展閱讀:

apk文件格式:

在Android平台中,dalvikvm的執行文件被打包為apk格式,最終運行時載入器會解壓,然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問

但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下,會發現執行是不受限制的。

安裝的文件可能不是這個文件夾,而在androidrom中,系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。

apk文件結構:

1、META-INF\(註:Jar文件中常可以看到);

2、res\(註:存放資源文件的目錄);

3、AndroidManifest.xml(註:程序全局配置文件);

4、classes.dex(註:Dalvik位元組碼);

5、resources.arsc(註:編譯後的二進制資源文件)。

2. 如何取得Android應用apk的UI資源和布局

第一步: 通過Hierarchy Viewer 工具學習別人的UI布局,
第二步:獲得apk中的圖片和xml文件,方法一是將擴展名apk改為zip,但是xml有可能打開的時候是亂碼。

3. 安卓手機怎麼打開apk文件

apk是安卓的軟體安裝包,安卓軟體必須先安裝才能用。手機都有自帶的文件管理器,用這個軟體找到apk的所在位置,點擊即可打開安裝。

1.先要在高級設置裡面允許安裝非官方渠道獲取的應用程序。

(3)androidapk資源擴展閱讀:

APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。

通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。

apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。

APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱;

即Android Dalvik執行程序,並非java ME的位元組碼而是Dalvik位元組碼。

Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別。

文件結構

1. META-INF (註:Jar文件中常可以看到);

2. res (註:存放資源文件的目錄) ;

3. AndroidManifest.xml (註:程序全局配置文件) ;

4. classes.dex (註:Dalvik位元組碼);

5. resources.arsc (註:編譯後的二進制資源文件)。

APK 是類似Symbian Sis 或Sisx 的文件格式。通過將APK 文件直接傳到Android 模擬器或Android 手機中執行即可安裝。

4. android 怎麼載入未安裝的apk資源

准備

准備被調用Android工程:TestB
ITest
public interface ITest {
String getMoney();
}
TestBActivity

public class TestBActivity extends Activity implements ITest {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

@Override
public String getMoney() {
return "1";
}

}

代碼說明:很簡單的代碼。將生成後的TestB.apk拷貝到SD卡的根目錄下。

調用 :

調用工程TestA

public class TestAActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

String path = Environment.getExternalStorageDirectory() + "/";
String filename = "TestB.apk";
DexClassLoader classLoader = new DexClassLoader(path + filename, path,
null, getClassLoader());

try {
Class mLoadClass = classLoader.loadClass("com.nmbb.TestBActivity");
Constructor constructor = mLoadClass.getConstructor(new Class[] {});
Object TestBActivity = constructor.newInstance(new Object[] {});

Method getMoney = mLoadClass.getMethod("getMoney", null);
getMoney.setAccessible(true);
Object money = getMoney.invoke(TestBActivity, null);
Toast.makeText(this, money.toString(), Toast.LENGTH_LONG).show();

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}

執行的時候可以發現會自動生成TestB.dex文件。動態載入方面還可以搜索一下"Java動態載入"方面的資料,很有參考價值。

5. 如何反編譯android的apk文件得到資源文件

您好,很高興能幫助您
一.反編譯Apk得到Java源代碼
轉載自:http://hi..com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html

工具下載:需用到dex2jar和JD-GUI這2個工具
dex2jar下載地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下載地址:
windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz
步驟:
1.首先找到Android軟體安裝包中的classes.dex
把.apk文件改名為.zip,然後解壓縮,得到其中的classes.dex文件,它就是java文件編譯再通過dx工具打包成的,所以現在我們就用上述提到的2個工具來逆方向導出java源文件

2.把classes.dex拷貝到dex2jar.bat所在目錄。
在命令行模式下定位到dex2jar.bat所在目錄,運行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar

3.運行JD-GUI工具(它是綠色無須安裝的)
打開上面的jar文件,即可看到源代碼
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
二.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件。
轉載自:http://blog.sina.com.cn/s/blog_5752764e0100kv34.html
工具下載:
在http://code.google.com/p/android-apktool/下 載獲得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip兩個包都要下。
步驟:
1.解壓縮下載的兩個文件包,apktool-install-windows-2.1_r01-1.zip解壓縮後得到的包里有aapt.exe 和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解壓後的一個.jar 文件進來)
2.打開命令窗口 (開始 > 運行,輸入cmd,回車。)進入到apktool.bat的文件夾里。
輸入:
apktool d C:\***.apk C:\***文件夾
(命令行解釋:apktool d 要反編譯的文件 輸出文件夾)
特別注意:你要反編譯的文件一定要放在C盤的根目錄里,
3.打開 C:\***文件夾 就可以得到我們學院的各種資源了。

三.將反編譯完的文件重新打包成apk
很簡單,只要輸入:
apktood b c:***文件夾(你編譯出來文件夾)

你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,

6. Android資源標簽屬性及優先順序(一)

在寫前一篇文章 淺述Android Apk打包流程 的時候發現解壓後的apk里res的資源文件,有多於我本地項目中的res資源文件夾。

如果我的項目中依賴了Android的一些庫,比如design庫,design裡面有自己的res,那麼在打包我的項目的時候,這些res會合並一起打包。
我查看了下,我確實依賴了design等庫。

對比一下前三張圖,我本地項目沒有建anim、anim-v21、animator-v21(不再截圖了)等資源文件夾,但是design庫有,最終一並打包到我的項目中。

res目錄下的文件夾是有命名規則的,不能隨便起,為的是要適配不同的設備,而且是要做到最佳的資源匹配。

2.1、資源標簽屬性及優先順序
除了解析度外,同種資源之間可以有下面許多資源屬性標簽,它們在匹配過程中是有優先順序順序的。大家可以快速瀏覽一下即可。以下資源標簽修飾語按照優先順序從高到低的順序排列。

3、Locale(語言和區域)
例如en表示英語,fr表示法語,en-rUS表示英語和美國地區。不區分大小寫,r用於區分區域碼。

4、Layout Direction(布局方向)
ldrtl,布局方向從右到左(阿拉伯語等會這樣布局);ldltr,布局方向從左到右,是默認的隱式值。(這就解答了我前面第二個提的問題了)

5、Smallest Screen Width(最小寬度)
sw<N>dp,屏幕的基本尺寸。
sw320dp:適用於320 320 ldpi、320 480 mdpi、480 480 hdpi
sw600dp:適用於600 1024mdpi (7英寸的平板電腦)
sw720dp:適用於720*1280 mdpi (10英寸平板電腦)
當你的屏幕的絕對寬度大於600dp時,屏幕就會自動調用layout-sw600dp文件夾裡面的布局。這里的絕對寬度是指手機的實際寬度,即與手機是否橫屏沒關系,也就是手機較小的邊的長度。

6、Screen Width(屏幕寬度)
w<N>dp ,設備的可用寬度值隨著當前是橫屏還是豎屏會產生變化,即它表示的是當前真實的寬度值。即當手機豎屏時,為較小邊的長度;當手機橫屏時,為較長邊的長度。

7、Screen Height(屏幕高度)
h<N>dp,與lScreen Width的使用一樣,只是這里指的是相對的高度。指手機相對放置的高度;即當手機豎屏時,為較長邊的長度;當手機橫屏時,為較小邊的長度。

8、Size(屏幕大小)
samll:低密度,最小布局尺寸為320 426dp
normal:中等密度,標准屏幕最小布局尺寸約為320 470dp
large:中等密度,大屏幕最小布局尺寸為480 640dp
xlarge:大於中等密度,最小布局尺寸為720 960dp。基本用於平板電腦。
該配置並不僅適用於指定設備,如果沒有匹配的資源,會選擇與之最近的。 如果所有資源均大於當前屏幕的尺寸限定符,則系統不會使用這些資源,且應用運行時會崩潰。

9、Ratio(屏幕縱橫比)
long:寬屏
notlong:非寬屏

10、Orientation(屏幕方向)
port:豎向的
land:橫向的
square:正方形的(我也不知道這個是什麼樣子的)

11、UI Mode(UI模式)
無、car、desk、 television、appliance、 watch6種模式。(其實我沒看明白是幹嘛的,哈哈)

12、Night Mode(夜間模式)
night:夜間模式
notnight:非夜間模式
可以通過UiModeManager來開啟和關閉這一功能。

13、Density(屏幕像素密度)
ldpi:低密度,約120dpi;mdpi:中等密度,160dpi;hdpi:高密度,240dpi;xhdpi:超高密度,320dpi;xxhdpi:超超高密度,480dpi;xxxhdpi:超超超高密度,640dpi;nodpi:不希望以匹配設備密度的點陣圖資源;tvdpi:主要用於電視,約213dpi。anydpi:適用於所有密度,優先順序高於其他限定符。

14、Touch Screen(觸摸屏)
notouch:設備不帶觸摸屏
stylus:觸摸屏通過手寫筆操作
finger:觸摸屏通過手指操作

15、Keyboard(鍵盤可用性)
keysexposed:設備有可用鍵盤。如果當前的軟鍵盤被啟用,那麼即便設備沒有鍵盤或者鍵盤不可用,這個狀態仍可能有效。
keyshidden:設備有鍵盤,但當前被隱藏,而且沒有軟鍵盤啟用。
keyssoft:設備當前軟鍵盤啟動,即便它處於可見或不可見狀態。

16、Text Input(文本輸入法)
nokeys:設備不帶用用於文本輸入的按鍵
qwerty:設備具有標准硬鍵盤(無論是否對用戶可見)
12key:設備具有 12 鍵硬鍵盤(無論是否對用戶可見)

17、Navigation State(定位鍵可用性)
描述定位鍵是否可用,指的是游標定位,非GPS導航的定位。
navexposed:定位鍵對用戶可用
navhidden:定位鍵對用戶不可用

18、Navigation Method(主要的非觸摸屏定位方式)
nonav:設備除了觸摸屏外沒有其他定位方式
dpad:設備具有用於導航的方向鍵
trackball:設備具有用於導航的軌跡球
wheel:設備有方向滾輪用於定位,不常用

19、Dimension(尺寸)

20、Version(平台版本)
設備支持的 API 級別。例如v4 對應於 API 級別 4,帶有 Android 1.6 或更高版本系統的設備。

2.2、怎麼在AS中創建這些文件夾呢?

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:736
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:148
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365