Android開發(fā)App如何進(jìn)行加固
避免使用內(nèi)部API
開發(fā)者應(yīng)避免使用Android的內(nèi)部或未公開的API。盡管某些API,如亮度控制和藍(lán)牙切換API,可能在早期版本(如1.0和1.1)中存在,但隨著版本的迭代,這些API可能會(huì)發(fā)生變化或被修正。在Android 1.5中,對(duì)某些API的使用進(jìn)行了調(diào)整,使用內(nèi)部API的App可能會(huì)出現(xiàn)崩潰。建議開發(fā)者避免使用這些內(nèi)部API,如果已使用,應(yīng)盡快更新程序以適應(yīng)新的版本要求。

避免直接操作系統(tǒng)設(shè)置
雖然通過(guò)Android系統(tǒng)本身進(jìn)行操作是合理的,但某些開發(fā)者會(huì)直接修改系統(tǒng)設(shè)定而不通知用戶。例如,某些App可能會(huì)悄無(wú)聲息地開啟GPS或數(shù)據(jù)傳輸。在最新的版本中,App不再能直接操作特定的系統(tǒng)設(shè)定值,否則可能會(huì)導(dǎo)致App崩潰。建議的做法是,當(dāng)需要修改系統(tǒng)設(shè)置時(shí),App應(yīng)發(fā)出一個(gè)Intent來(lái)啟動(dòng)相應(yīng)的設(shè)置配置畫面,讓用戶手動(dòng)進(jìn)行修改。
避免布局過(guò)于復(fù)雜
由于View渲染部分的變化,過(guò)于復(fù)雜或?qū)哟芜^(guò)深的View樹可能導(dǎo)致程序崩潰。盡管Android 1.5在布局處理上相較于1.1有了改進(jìn),但過(guò)于復(fù)雜的布局仍然可能存在風(fēng)險(xiǎn)。建議開發(fā)者對(duì)復(fù)雜的布局進(jìn)行“瘦身”,使用高級(jí)的布局類如FrameLayout和TableLayout來(lái)簡(jiǎn)化布局。
避免基于硬件的假設(shè)

隨著Android設(shè)備的發(fā)展,越來(lái)越多的設(shè)備不再配備物理鍵盤。如果你的程序假設(shè)物理鍵盤存在,比如通過(guò)接收鍵盤按鍵消息來(lái)操作自定義View,那么你的程序在只有軟鍵盤的設(shè)備上可能會(huì)出問(wèn)題。為了應(yīng)對(duì)這種情況,開發(fā)者需要確保程序在只有軟鍵盤的設(shè)備上也能正常工作。
避免無(wú)意識(shí)的屏幕旋轉(zhuǎn)問(wèn)題
運(yùn)行Android 1.5(及以上)的設(shè)備能夠自動(dòng)根據(jù)用戶手持設(shè)備的方向旋轉(zhuǎn)屏幕。某些設(shè)備可能默認(rèn)開啟此功能,而其他設(shè)備則需要用戶手動(dòng)設(shè)置。開發(fā)者在開發(fā)App時(shí)需要注意屏幕旋轉(zhuǎn)帶來(lái)的影響,確保App在屏幕旋轉(zhuǎn)時(shí)也能正常工作和顯示。為此,開發(fā)者需要在App中處理屏幕旋轉(zhuǎn)的相關(guān),確保用戶體驗(yàn)的一致性。
為了加固Android開發(fā)的App,開發(fā)者需要密切關(guān)注Android系統(tǒng)的更新和變化,遵循最佳實(shí)踐,避免使用內(nèi)部API、直接操作設(shè)置、布局過(guò)于復(fù)雜、基于硬件的假設(shè)以及無(wú)意識(shí)的屏幕旋轉(zhuǎn)問(wèn)題。通過(guò)這些措施,可以確保App的穩(wěn)定性、兼容性和用戶體驗(yàn)。移動(dòng)應(yīng)用安全與重定向問(wèn)題探究
應(yīng)用程序重定向的問(wèn)題與挑戰(zhàn)

在移動(dòng)應(yīng)用開發(fā)中,重定向問(wèn)題常常導(dǎo)致一些不可預(yù)期的行為。無(wú)論應(yīng)用程序是使用加速度計(jì)還是其他功能,當(dāng)假設(shè)存在物理鍵盤而進(jìn)行旋轉(zhuǎn)時(shí),如果設(shè)備并無(wú)物理鍵盤,這些應(yīng)用程序的重定向功能可能會(huì)出現(xiàn)問(wèn)題,這顯然是一個(gè)編碼錯(cuò)誤。對(duì)于開發(fā)者而言,應(yīng)明確應(yīng)用程序在任何情況下都能處理重定向,避免產(chǎn)生不良用戶體驗(yàn)。
應(yīng)用的安全加固:必要性及其影響
若應(yīng)用不進(jìn)行任何安全防護(hù),將面臨極大的風(fēng)險(xiǎn),如病毒植入、廣告替換、支付渠道篡改等,嚴(yán)重侵害開發(fā)者的利益。對(duì)應(yīng)用進(jìn)行安全加固是十分必要的。加固后的應(yīng)用可以防止被反編譯、調(diào)試、盜版等威脅,維護(hù)開發(fā)者的利益。隨著移動(dòng)應(yīng)用安全相關(guān)技術(shù)的發(fā)展,市面上出現(xiàn)了許多APP加固平臺(tái),其中蠻犀安全等領(lǐng)先企業(yè)為開發(fā)者提供了有效的安全加固解決方案。
五大移動(dòng)應(yīng)用加固平臺(tái)的評(píng)測(cè)
作為學(xué)習(xí)app安全開發(fā)的工程師,我對(duì)移動(dòng)應(yīng)用的安全加固技術(shù)有著濃厚的興趣。在挑選移動(dòng)應(yīng)用加固產(chǎn)品時(shí),我曾嘗試多個(gè)不同廠商的產(chǎn)品,并對(duì)其進(jìn)行評(píng)測(cè)。今天,我將分享一些關(guān)于移動(dòng)應(yīng)用加固平臺(tái)的評(píng)測(cè)經(jīng)驗(yàn)。

為何選擇對(duì)自動(dòng)化加固進(jìn)行評(píng)測(cè)?主要是因?yàn)閼?yīng)用自動(dòng)化加固對(duì)移動(dòng)應(yīng)用開發(fā)工程師來(lái)說(shuō)是一種便捷的安全方式。雖然許多平臺(tái)都提供加固服務(wù),但加固效果和兼容性方面存在差異。在這次評(píng)測(cè)中,我選擇了五個(gè)平臺(tái)和一款A(yù)PP進(jìn)行測(cè)試,主要從操作體驗(yàn)、加固后啟動(dòng)時(shí)間、加固后應(yīng)用大小和兼容性等方面進(jìn)行和對(duì)比較。
在測(cè)試中,我發(fā)現(xiàn)一些平臺(tái)的加固強(qiáng)度較高,但可能會(huì)影響應(yīng)用的啟動(dòng)速度或大?。涣硪恍┢脚_(tái)則可能在兼容性方面存在一些問(wèn)題。開發(fā)者在選擇加固平臺(tái)時(shí),需要根據(jù)自己的實(shí)際需求進(jìn)行綜合考慮。我也推薦大家嘗試使用蠻犀安全等領(lǐng)先企業(yè)的加固產(chǎn)品,它們?cè)谶@方面有著出色的表現(xiàn)。
關(guān)于重定向的進(jìn)一步討論
在移動(dòng)應(yīng)用中,使用加速度計(jì)實(shí)現(xiàn)的重定向與系統(tǒng)相同功能可能會(huì)引發(fā)一些奇怪的結(jié)果。例如,一些應(yīng)用程序使用加速度計(jì)監(jiān)測(cè)晃動(dòng)動(dòng)作,但未將其方向鎖定為垂直或水平,這可能導(dǎo)致界面在方向上頻繁變化,從而激怒用戶。為了解決這一問(wèn)題,開發(fā)者可以在manifest文件中使用android:screenOrientation特性來(lái)鎖定應(yīng)用的方向。
在移動(dòng)應(yīng)用開發(fā)過(guò)程中,開發(fā)者需要關(guān)注重定向問(wèn)題并進(jìn)行相應(yīng)的安全加固,以確保應(yīng)用的穩(wěn)定性和安全性。選擇合適的加固平臺(tái)也是確保應(yīng)用安全的重要手段。五大主流應(yīng)用加固平臺(tái)深度評(píng)測(cè)

====================
一、平臺(tái)簡(jiǎn)介
以下是當(dāng)前市場(chǎng)上五個(gè)知名的應(yīng)用加固平臺(tái):
360加固保:鏈接 jiagu.#
阿里聚安全:鏈接 jaq.alibaba.com

騰訊云應(yīng)用樂固:鏈接 qcloud.com/product/cr
梆梆安全:鏈接 bangcle.com
通付盾移動(dòng)安全云:鏈接 appfortify.cn
本次評(píng)測(cè)主要圍繞操作難易、加固等待時(shí)間、加固前后體積變化、啟動(dòng)速度及兼容性進(jìn)行。
二、操作難易度評(píng)測(cè)

所有評(píng)測(cè)的加固服務(wù)均免費(fèi)使用。
1. 360加固保:提供多種加固選項(xiàng),如日志分析、x86架構(gòu)選擇等,并支持桌面版本地加固,操作相對(duì)復(fù)雜。
2. 阿里聚安全:用戶認(rèn)證后上傳應(yīng)用即可進(jìn)行加固,過(guò)程流暢,提供惡意代碼檢測(cè),人性化設(shè)計(jì)。
3. 騰訊云應(yīng)用樂固:采用卡片式界面設(shè)計(jì),上傳應(yīng)用后默認(rèn)選擇加固、漏洞檢測(cè)和渠道監(jiān)控,操作簡(jiǎn)便。
4. 梆梆安全:流程與其他平臺(tái)相似,可同時(shí)進(jìn)行安全評(píng)估和應(yīng)用加固。

5. 通付盾:上傳應(yīng)用后選擇服務(wù)并提交,操作較為簡(jiǎn)單。
小結(jié):五大平臺(tái)在加固功能方面,操作基本無(wú)難度,主要差異在于可選功能和界面設(shè)計(jì)。從用戶體驗(yàn)角度看,騰訊云和通付盾的設(shè)計(jì)較好。
三、加固等待時(shí)間對(duì)比
阿里聚安全的加固用時(shí)最短,而通付盾的用時(shí)最長(zhǎng)。這可能與各平臺(tái)的加固引擎、強(qiáng)度及項(xiàng)目有關(guān)。
四、加固前后體積對(duì)比

阿里聚安全的加固使應(yīng)用包體積變小,而其他平臺(tái)則可能導(dǎo)致體積增加。
五、加固前后啟動(dòng)速度對(duì)比
除360加固外,其他平臺(tái)加固后啟動(dòng)速度均有所下降,其中梆梆安全對(duì)速度的影響最大。
六、加固前后兼容性對(duì)比
通付盾加固的應(yīng)用兼容性下降幅度較大,其他平臺(tái)則表現(xiàn)相對(duì)穩(wěn)定。

七、總結(jié)
綜合考慮各項(xiàng)評(píng)價(jià)指標(biāo),各平臺(tái)均有優(yōu)劣。特別提醒:某些應(yīng)用市場(chǎng)如360和百度開發(fā)平臺(tái)可能規(guī)定不允許使用其他品牌商的加固功能。在選擇加固產(chǎn)品時(shí),請(qǐng)重點(diǎn)關(guān)注兼容性和啟動(dòng)速度。
第一章:初嘗試的勇氣
今天,我邁出了人生中重要的一步——首次在網(wǎng)絡(luò)上公開發(fā)表我的文字。心情既緊張又充滿期待,像是一個(gè)探險(xiǎn)者踏足未知的領(lǐng)域。請(qǐng)?jiān)试S我分享我的這份激動(dòng),也請(qǐng)大家多多指教,給予我寶貴的意見和建議。
第二章:文章的價(jià)值與意義

我之所以選擇公開發(fā)表文章,是因?yàn)槲疑钪渲械膬r(jià)值和意義。每一篇文章都是我與世界的對(duì)話,是我心靈的傾訴。我希望通過(guò)文字,與大家分享我的思考和感悟,也希望通過(guò)大家的反饋,使我的認(rèn)知更加全面和深入。
第三章:內(nèi)容的獨(dú)特之處
在我的文章里,你會(huì)看到我對(duì)生活的觀察、對(duì)世界的理解、對(duì)人生的思考。我力求在平凡的生活中尋找不平凡的故事,用細(xì)膩的筆觸描繪生活的點(diǎn)滴。我的文章可能并不完美,但我相信,真實(shí)和真誠(chéng)是文章最寶貴的品質(zhì)。
第四章:期待與互動(dòng)
在此,我真誠(chéng)地期待與大家的互動(dòng)。我希望聽到你們的聲音,了解你們的想法和觀點(diǎn)。你們的每一個(gè)評(píng)論、每一個(gè)點(diǎn)贊,都是我前進(jìn)的動(dòng)力。讓我們共同在文字的海洋里遨游,共同成長(zhǎng),共同進(jìn)步。

第五章:感謝與未來(lái)展望
我要感謝每一個(gè)愿意花時(shí)間閱讀我文章的人。你們的支持和鼓勵(lì)是我最大的動(dòng)力。對(duì)于未來(lái),我充滿期待。我會(huì)繼續(xù)努力提高自己的寫作水平,分享更多有價(jià)值的文章。讓我們共同期待未來(lái)的精彩!