Android 自動化流程開發之 JiaGu360 插件

前言

如今寫個APP不加固,太危險了,特別對於商業APP。反編譯你的代碼,窺探你的商業機密,更有甚者插入廣告,修改你的代碼 ,你辛辛苦苦寫的APP,就成別人的了。各大應用市場也對應用安全愈來愈重視了,你想上應用市場(應用寶,360,等市場),已經很差上傳了,須要上傳應用軟著,APP加固。APP加固無形中又加大了工做量,好在有大廠幫咱們加固。android

360加固保

360加固保官網git

360加固保是爲移動應用安全提供專業保護的平臺,盜版APP一般是將正版APP進行破解、篡改後從新打包生成的應用。若是手機APP可以具有防反編譯、防反破解能力,就能夠有效的防止APP被盜版。github

360加固保專爲開發者的應用提供免費安全加固服務,首創了多重防禦方式,對應用程序深度加密處理;獨有的程序文字信息加密功能,能有效防止應用被反編譯和惡意篡改,保護應用不被二次打包,保護數據信息不會被黑客竊取。開發者無需任何開發成本,一鍵上傳,便可在5分鐘內完成應用加固,從而完全防止應用在上線後被反編譯、調試、破解、二次打包和內存截取等多種威脅。給予官方應用最強保護,從源頭消滅惡意盜版應用,保護開發者收入。windows

360加固保在爲APP提供加固服務的同時,還爲開發者提供APP數據分析、崩潰日誌分析、盜版監測和漏洞掃描等服務,全方位幫助開發者瞭解數據健康與運行情況。截止2015年第二季度,已使用360加固保的應用達30萬,應用所覆蓋的用戶超過10億,360加固保已經成爲國內最大的移動應用保護平臺。安全

Quick Start

爲了方便你們的使用,360加固保提供了2種使用方式:app

IDE操做

使用360加固保官網爲咱們提供的加固保軟件,一看就會,傻瓜式操做。gradle

360加固保下載優化

360加固保軟件

使用命令行

命令行操做是比較隱藏的,360加固保官網也沒有作做任何說明,推薦使用軟件界面操做ui

下載 「360加固保」軟件

360加固保下載加密

360加固保軟件

解壓

下載下來的「360加固保」軟件是一個zip包,解壓後的目錄:

360加固保軟件目錄

加固jar

提供加固功能的jar包

360加固jar

渠道模板

生成生各類渠道的apk模板文件

360加固渠道模板

jar命令

360加固渠道模板

JiaGu360

360提供的兩種方式都不太適合自動化流程開發,IDE操做,須要人工來,命令行操做繁瑣。JiaGu360 根據360加固命令實現app快捷加固的插件,解放雙手,實現自動化流程。

Gradle插件使用方式

配置build.gradle

在位於項目的根目錄 build.gradle 文件中添加 ApkSign插件的依賴, 以下:

buildscript {
    dependencies {
        classpath 'com.zf.plugins:JiaGu360:1.0.1'
    }
}
複製代碼

並在當前App的 build.gradle 文件中apply這個插件

apply plugin: 'jiagu360'
複製代碼

配置插件(最簡易配置)

jiaGu360Config {
	//必填,360用戶名
    userName "XXXXXX"
	//必填, 360密碼
    passWord "XXXXXX"
	//必填,360加固jiagu.jar包位置
	jiaGuJarPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\jiagu.jar").absolutePath
	
    items {
        debug {
      		//必填, 須要簽名的APK 路徑
            inputApkFilePath file("build/outputs/apk/tap_unsign.apk").absolutePath
        }
		// ...... 能夠添加更多選項
    }
}
複製代碼

插件所有配置

jiaGu360Config {
	//必填, 360用戶名
    userName "XXXXXX"
	//必填, 360密碼
    passWord "XXXXXX"
	//必填, 360加固jar包位置
	jiaGuJarPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\jiagu.jar").absolutePath
	
	//加固配置項服務是否都支持
    isSupportAll false

//統一配置 優先低於自定義配置--------------------------start----------------------------------------------------------------------

	//android 簽名配置名稱,默認android默認的'debug'簽名配置,signingName="debug"
	signingName 'debug'
	//加固apk的輸出目錄
    outputApkDirPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\XXXX").absolutePath
	//加固完成後是否打開輸出目錄。默認false
    openOutputDir false
	
	
// 加固配置項服務-------------------------------start-------------------------------------

	// 可選加強服務--------------start----------------------
    isSupportCrashLong false //【崩潰日誌分析】
    isSupportX86 false //【x86支持】
    isSupportAnalyse false//【加固數據分析】
    isNocert false//【跳過簽名校驗】
    // 可選加強服務--------------end----------------------

    //高級加固選項-------------start------------------
    isSupportVmp false//【全VMP保護】
    isSupportDataProtection false//【本地數據文件保護】
    isSupportAssetsProtection false// 【資源文件保護】
    isSupportFileCheck false//【文件完整性校驗】
    isSupportPtrace false//【Ptrace防注入】
    isSupportSoProtection false//【SO文件保護】
    isSupportDex2cProtection false//【dex2C保護】
    isSupportStringObfusProtection false//【字符串加密】
    isSupportDexShadowProtection false//【DexShadow】
    isSupportSoPrivateProtection false//【SO防盜用】
    //高級加固選項-------------end------------------
	
// 加固配置項服務--------------------------------end---------------------------------------------

	//自動簽名
     autosign false

	//自定義文件生成多渠道,能夠根據前面下載的360加固軟件裏的 「多渠道模板.txt」 編寫
     mulpkgFilePath =new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\多渠道模板.txt")
	//簽名配置項
     signingInfo {
        storeFilePath "E:\\Document\\XXXXXX.jks"
        storePassword "XXXXXX"
        keyAlias "XXXXXX"
        keyPassword "XXXXXX"
    }
	
//統一配置 --------------------------end----------------------------------------------------------------------

	items {
        release {
      		//必填, 須要加固的APK 路徑
            inputApkFilePath file("build/outputs/apk/XXXX.apk").absolutePath
//自定義配置-----------------------------start-----------------------------------------------------------------------
			//android 簽名配置名稱,默認android默認的'debug'簽名配置,signingName="debug"
			signingName 'debug'
			//加固apk的輸出目錄
			outputApkDirPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\XXXX").absolutePath
			//加固完成後是否打開輸出目錄。默認false
			openOutputDir false

		// 加固配置項服務-------------------------------start-------------------------------------

			// 可選加強服務--------------start----------------------
			isSupportCrashLong false //【崩潰日誌分析】
			isSupportX86 false //【x86支持】
			isSupportAnalyse false//【加固數據分析】
			isNocert false//【跳過簽名校驗】
			// 可選加強服務--------------end----------------------

			//高級加固選項-------------start------------------
			isSupportVmp false//【全VMP保護】
			isSupportDataProtection false//【本地數據文件保護】
			isSupportAssetsProtection false// 【資源文件保護】
			isSupportFileCheck false//【文件完整性校驗】
			isSupportPtrace false//【Ptrace防注入】
			isSupportSoProtection false//【SO文件保護】
			isSupportDex2cProtection false//【dex2C保護】
			isSupportStringObfusProtection false//【字符串加密】
			isSupportDexShadowProtection false//【DexShadow】
			isSupportSoPrivateProtection false//【SO防盜用】
			//高級加固選項-------------end------------------

		// 加固配置項服務--------------------------------end---------------------------------------------

			//自動簽名
			 autosign false

			//自定義文件生成多渠道,能夠根據前面下載的360加固軟件裏的 「多渠道模板.txt」 編寫
			mulpkgFilePath =new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\多渠道模板.txt")
			//簽名配置項
			 signingInfo {
				storeFilePath "E:\\Document\\XXXXXX.jks"
				storePassword "XXXXXX"
				keyAlias "XXXXXX"
				keyPassword "XXXXXX"
			}
//自定義配置-----------------------------end-----------------------------------------------------------------------
        }
		
		debug {
      		//須要加固的APK 路徑
            inputApkFilePath file("build/outputs/apk/XXXX.apk").absolutePath
        }
		// ...... 能夠添加更多選項
    }
}
複製代碼

配置項具體解釋:

  • 當 「統一配置」 ,「自定義配置」 設置的參數都存在時, 自定義配置 > 統一配置 , 這是總的原則

  • isSupportAll=true時 ,統一配置裏的可配置服務所有都支持

  • signingInfo ,signingName都配置時,優化級爲 signingInfo > signingName;當兩個配置項都不配置時,默認使用 android項目裏的默認debug簽名。

  • signingName='release' 簽名信息配置的名稱,

    簽名配置名稱

生成apk加固包:

./gradlew jiagu360${item配置名稱(首頁字母大小)}

item配置名稱

如上面的配置,生成簽名包須要執行以下命令:

./gradlew jiagu360Release

360加固升級命令:

./gradlew jiagu360Update

源碼

github.com/903600017/J…

相關文章
相關標籤/搜索