Apk应用目录结构 
更新时间:2025-03-31
多语言目录 
- 多国语言value文件夹命名方式
| 语言 | 文件夹 | 语言 | 文件夹 | 
|---|---|---|---|
| 中文(中国) | values-zh-rCN | 法文(法国) | values-fr-rFR | 
| 中文(香港) | values-zh-rHK | 希伯来文 | values-iw-rIL | 
| 中文(台湾) | values-zh-rTW | 印地文 | values-hi-rIN | 
| 英语(美国 | values-en-rUS | 克罗里亚文 | values-hr-rHR | 
| 英语(英国) | values-en-rGB | 匈牙利文 | values-hu-rHU | 
| 英文(澳大利亚) | values-en-rAU | 印度尼西亚文 | values-in-rID | 
| 英文(加拿大) | values-en-rCA | 意大利文(瑞士) | values-it-rCH | 
| 英文(爱尔兰) | values-en-rIE | 意大利文(意大利) | values-it-rIT | 
| 英文(印度) | values-en-rIN | 日文 | values-ja-rJP | 
| 英文(新西兰) | values-en-rNZ | 韩文 | values-ko-rKR | 
| 英文(新加坡) | values-en-rSG | 立陶宛文 | valueslt-rLT | 
| 英文(南非) | values-en-rZA | 拉脱维亚文 | values-lv-rLV | 
| 阿拉伯文(埃及) | values-ar-rEG | 挪威博克马尔文 | values-nb-rNO | 
| 阿拉伯文(以色列) | values-ar-rIL | 荷兰文(比利时) | values-nl-BE | 
| 保加利亚文 | values-bg-rBG | 荷兰文(荷兰) | values-nl-rNL | 
| 加泰罗尼亚文 | values-ca-rES | 波兰文 | values-pl-rPL | 
| 捷克文 | values-cs-rCZ | 葡萄牙文(巴西) | values-pt-rBR | 
| 丹麦文 | values-da-rDK | 葡萄牙文(葡萄牙) | values-pt-rPT | 
| 德文(奥地利) | values-de-rAT | 罗马尼亚文 | values-ro-rRO | 
| 德文(瑞士) | values-de-rCH | 俄文 | values-ru-rRU | 
| 德文(德国) | values-de-rDE | 斯洛伐克文 | values-sk-rSK | 
| 德文(列支敦士登) | values-de-rLI | 斯洛文尼亚文 | values-sl-rSI | 
| 希腊文 | values-el-rGR | 塞尔维亚文 | values-sr-rRS | 
| 西班牙文(西班牙) | values-es-rES | 瑞典文 | values-sv-rSE | 
| 西班牙文(美国) | values-es-rUS | 泰文 | values-th-rTH | 
| 芬兰文(芬兰) | values-fi-rFI | 塔加洛语 | values-tl-rPH | 
| 法文(比利时) | values-fr-rBE | 土耳其文 | values–r-rTR | 
| 法文(加拿大) | values-fr-rCA | 乌克兰文 | values-uk-rUA | 
| 法文(瑞士) | values-fr-rCH | 越南文 | values-vi-rVN | 
APP编译模式 
- 执行getprop | grep pm命令即可查看
主题样式 
- Android中定义的系统主题样式
| Style属性android:theme=* | 样式说明 | 
|---|---|
| theme="@android:style/Theme.Dialog" | 将Activity显示为对话框模式 | 
| theme="@android:style/Theme.NoTitleBar" | 不显示应用程序标题栏 | 
| theme="@android:style/Theme.NoTitleBar.Fullscreen" | 不显示应用程序标题栏,并全屏 | 
| theme="@android:style/Theme.Light" | 背景为白色 | 
| theme="@android:style/Theme.Light.NoTitleBar" | 白色背景并无标题栏 | 
| theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" | 白色背景,无标题栏,全屏 | 
| theme="@android:style/Theme.Black" | 背景黑色 | 
| theme="@android:style/Theme.Black.NoTitleBar" | 黑色背景并无标题栏 | 
| theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" | 黑色背景,无标题栏,全屏 | 
| theme="@android:style/Theme.Wallpaper" | 用系统桌面为APP背景 | 
| theme="@android:style/Theme.Wallpaper.NoTitleBar" | 用桌面为APP背景,且无标题栏 | 
| theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" | 桌面为APP背景,无标题栏全屏 | 
| theme="@android:style/Translucent" | 半透明效果 | 
| theme="@android:style/Theme.Translucent.NoTitleBar" | 半透明并无标题栏 | 
| theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" | 半透明效果,无标题栏,全屏 | 
| theme="@android:style/Theme.Panel" | 
- Android系统中三种字体大小
xml
android:textSize="?android:attr/textAppearanceLarge"
android:textSize="?android:attr/textAppearanceMedium"
android:textSize="?android:attr/textAppearanceSmall"- Android系统中字体颜色定义
xml
android:textColor="?android:attr/textColorPrimary"
android:textColor="?android:attr/textColorSecondary"
android:textColor="?android:attr/textColorTertiary"
android:textColor="?android:attr/textColorPrimaryInverse"
android:textColor="?android:attr/textColorSecondaryInverse"- Android系统中ProgressBar样式
xml
style="?android:attr/progressBarStyleHorizontal"
style="?android:attr/progressBarStyleLarge"
style="?android:attr/progressBarStyleSmall"
style="?android:attr/progressBarStyleSmallTitle"- 其他更多Style
xml
style="?android:attr/starStyle"						#CheckBox样式
android:background="?android:attr/listDivider"		#分隔符
style="?android:attr/listSeparatorTextViewStyle"	#标题栏效果的TextView
<item name="android:background">#778899</item>
<item name="android:windowTitleSize">32dp</item>
<item name="android:windowTitleBackgroundStyle">@style/AutoWindowTitleBackground</item>手动构建Apk 
注意
需要准备AndroidSDK以及AAPT工具
- 生成资源文件
sh
aapt package -f -m -J gen -M AndroidManifest.xml -S res -I $SDK/platforms/android-33/android.jar -F bin/resources.ap_- 编译本地库,如果有的话就用SDK中的aidl工具编译 
- 编译Java代码并生成dex 
sh
javac -source 1.8 -target 1.8 -bootclasspath $SDK/platforms/android-33/android.jar -d bin/classes src/com/myapp/*.java gen/com/myapp/R.java
dx.bat --dex --output=bin/classes.dex bin/classes/- 打包APK
sh
aapt package -f -M AndroidManifest.xml -S res -A assets -I $SDK/platforms/android-33/android.jar -F bin/unsigned.apk
cd bin && zip -qr unsigned.apk classes.dex- 签名APK与对齐
sh
apksigner sign --ks debugkey.jks --out signed.apk unsigned.apk
zipalign -v -p 4 signed.apk final.apk- AAPT工具使用扩展
sh
aapt v				# 版本
aapt l -v my.apk	# 表格形式列出APK内容,详细-a
aapt d badging my.apk		#显示包名标签图标等信息
aapt d permissions my.apk	#显示应用所具有的权限信息
aapt d configurations my.apk					#显示应用的配置信息
aapt d xmltree my.apk AndroidManifest.xml		#以树形显示某个XML文件
aapt d xmlstrings my.apk AndroidManifest.xml	#显示某个XML文件中所有字符
aapt r my.apk classes.dex		#从APK包中移除某个文件
aapt a my.apk classes.dex		#向APK包中添加某个文件