Android項目自動化--apk的打包、加固及其發佈

項目完成後,大家都會選擇一些應用開放商店上線自己的APP,像360應用商店,安卓市場,應用寶之類的,但是上線前不免需要對Apk進行應用瘦身,apk加固防止反編譯,埋點統計點擊的數據,渠道分發,線上熱修等後期工作.

apk減少體積

  • 1、減少dex

    混淆代碼,減少代碼體積,刪除沒有使用的代碼(包括自己的代碼和三方庫),把類名、方法名,使用簡單的字母

    build.gradle中配置
    buildTypes {
    releaseminifyEnabled {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    
  • 2、減少res

    把未使用的圖片,更改爲一個像素的圖片

     build.gradle中配置
     buildTypes {
     releaseshrinkResources {
        minifyEnabled true
        shrinkResources true// 必須保證minifyEnabled是true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    
  • 3、刪除apk中未使用的資源

    Android Studio中,analyze-inspect code-Android lind performance,顯示未使用的資源文件
    
    使用壓縮文件打開apk,刪除未使用的文件
    
    重新打包Windows_sign_tool
    
  • 4、減少國際化語言包

    build.gradle中配置
    defaultConfig {
    
        resConfigs("zh","ja")    //zh 爲中文
    }
    

優化圖片

1、png轉換成jpg,會丟失透明像素


2、[優化圖片](https://tinypng.com/)


    對於不超過5m的圖片,上傳壓縮

3、webp

    優點,佔用空間小,缺點壓縮慢

    命令: cwebp.exe -q 80 test.png -o test.webp

apk加固

防止別人反編譯代碼,保證代碼安全,防止二次打包
首先需要自己將項目的apk打好,這裏以studio打包爲演示
這裏寫圖片描述
1、上傳apk
這裏可以選擇梆梆安全、360加固或者愛加密都可以
2、加固

3、下載加固後的apk

這裏寫圖片描述

4、使用平臺提供的簽名工具簽名

apk 加固:
“簽名得需要用人家官網提供的簽名文件
上傳應用的時候,需要利用各自平臺上的簽名

5、把簽名後的apk上傳到應用市場

友盟統計

友盟統計
集成
1、創建應用,申請appkey

這裏寫圖片描述

2、下載sdk,配置清單文件
添加依賴

這裏寫圖片描述
3、在Activity中添加代碼
這裏寫圖片描述

4、錯誤統計,默認繼承了,只要程序報錯,服務器就有異常日誌

這裏的onResume()和onPause()都是爲了檢測錯誤統計的日誌
錯誤日誌的展示
5、自定義事件統計

統計數值型變量的值的分佈
統計一個數值類型的連續變量(該變量必須爲整數),用戶每次觸發的數值的分佈情況,如事件持續時間、每次付款金額等,可以調用如下方法:

MobclickAgent.onEventValue(Context context, String id, Map<String,String> m, int du)

id  爲事件ID
map  爲當前事件的屬性和取值
du  爲當前事件的數值爲當前事件的數值,取值範圍是-2,147,483,648 到 +2,147,483,647 之間的有符號整數,即int 32類型,如果數據超出了該範圍,會造成數據丟包,影響數據統計的準確性。

## 示例:統計一次音樂播放,包括音樂類型,作者和播放時長,可以在音樂播放結束後這麼調用:

int duration = 12000; //開發者需要自己計算音樂播放時長
  Map<String, String> map_value = new HashMap<String, String>();
  map_value.put("type" , "popular" );
  map_value.put("artist" , "JJLin" );   
MobclickAgent.onEventValue(this, "music" , map_value, duration);

6、統計點擊次數及各屬性觸發次數
計算事件除能夠統計數值型的參數外還具有計數事件的所有功能詳細說明

以上就是針對上線之後的項目,圍繞數據統計,應用瘦身,渠道分發,線上熱修等後期工作的大概流程,其它加固如360加固和愛加密

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章