1.無設備打包(電腦沒有連接手機設備或模擬器)
Android如果沒有在項目build.gradle配置打包密鑰這些的時候,打包方式爲
Build裏的Generate Signed Apk然後配置密碼直接打包就可以了
如果在項目build.gradle配置了打包密鑰這些,例子如下
signingConfigs {
debug {
storeFile file(DEBUGKEY)
}
release {
storeFile rootProject.file("${SIGNFILE}")
storePassword KEY_STORE_PASSWORD
keyAlias KEY_ALIAS
keyPassword KEY_ALIAS_PASSWORD
}
}
buildTypes {
debug{
buildConfigField 'boolean','logEnable',"true"
}
release {
minifyEnabled false
zipAlignEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
}
其中數值在gradle.properties裏配置,當然路徑和密碼這些就是自己建密鑰的時候設置的了
#Debug\u7B7E\u540D
DEBUGKEY = C://keystores/debug.keystore
#\u7B7E\u540D\u914D\u7F6E
SIGNFILE = keystore/Key_Android
KEY_STORE_PASSWORD = ALeeTest
KEY_ALIAS = ALeeTest
KEY_ALIAS_PASSWORD = ALeeTest
現在可以直接使用Android Studio右側的gradle打包了,一般測試人員打正式包都是這種方式打包,打出來的正式包別忘了用三方軟件(如360加固)加固,功能位置截圖
一般雙擊assembleRelease就是打正式包了,具體位置爲項目名->app->Tasks->build->assembleRelease
如上面截圖的MatrixLearning->MatrixLearning(root)->Tasks->build->assembleRelease
2.有設備打包(電腦連接上手機設備或模擬器)
有設備打包使用的是直接點擊執行打包按鈕,打出來的包會直接安裝到設備上
下面主要講一下打包的launcher mode配置,配置在
下拉後選擇Edit Configurations
常用到的是Launch Options
一般Launch爲Default Activity
這時要在AndroidManifest裏給你想要軟件默認打開的activity添加intent-filter
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
當Launch選擇Nothing時,
AndroidManifest添不添加Intent-filter都沒關係,包打出來安裝後在桌面是看不到軟件圖標的,只能在系統已安裝應用的列表裏找到,這時候這個軟件無法單獨打開,只能通過第三方軟件去吊起其中的類來打開
當Launch選擇Specified Activity時
我們需要在下面的
activity里加上要打開的類,這種方式有圖標,但是打開軟件必定是首先打開這個activity,activity右面的三個小點···我們點開可以根據activity名搜索或直接在項目路徑裏找,十分方便
注意,這種方式選擇的activity,必須要在AndroidManifest裏面聲明<intent-filter>,一般聲明成下面這樣即可
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
最後Lanunch選擇URL時
要打開的activity需要在AndroidManifest配置如下intent-filter
<intent-filter>
<!--其中xl爲scheme協議,其他port,host,path可根據自己喜歡配置-->
<data android:scheme="xl" android:host="test" android:port="8888" android:path="/testPath"/>
<!--下面這三個一定要配上,不然會報錯-->
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
然後在launcher options里根據配置填寫url即可,根據上面配置填寫的url爲
執行打包的按鈕位置爲
你會發現這種方式打出來的包是debug包,如果你要打release包,可以在Android Studio的左側工具欄選擇Build Variants
然後點擊一下debug
此時就可以選擇爲release啦,選擇後重新點擊一下執行按鈕,再打出來的包就是release包了
無論是有設備打包,還是無設備打包,打出來的包都會在項目裏有備份,備份的路徑看截圖(release包出現unsigned是因爲沒有在build.gradle裏配置簽名設置)
這次的小記到這裏暫時結束了。