Android私密開(kāi)發(fā)信息存儲(chǔ)

日常開(kāi)發(fā)中總會(huì)遇到這樣的一個(gè)問(wèn)題:如何保存第三方sdk的授權(quán)信息,或者網(wǎng)站的endpoint,在代碼上傳到Github上后不會(huì)被別人知道睛蛛?

Easy?的確胧谈!

想法:只要將保存有私密信息的文件添加進(jìn)gitignore文件就好了忆肾!
問(wèn)題:那開(kāi)發(fā)的時(shí)候如何在代碼中讀取這些信息呢?打包工具可不會(huì)把文件給你加到apk中菱肖。

想法:加入到raw資源文件夾客冈,怎么樣?這樣可以很方便讀取
問(wèn)題:apk解壓后raw文件是可以直接得到的蔑滓,很不安全郊酒。

那么問(wèn)題的本質(zhì)就是讀取,只要解決這個(gè)就好了键袱。下面就來(lái)說(shuō)說(shuō)如何讓gradle在編譯時(shí)讀取我們的私密信息文件燎窘,并打包進(jìn)apk。

一蹄咖、存儲(chǔ)格式

類似于第網(wǎng)站的入口褐健,第三方API授權(quán)這些信息最好的存儲(chǔ)格式是鍵值對(duì),例如:
app_key=123
endpoint=http://www.1024.com
然后通過(guò)Java的Properties類快速解析澜汤,獲取想要的值蚜迅。
一般都是把保存有這些信息的文件放到項(xiàng)目的根目錄下(記得gitignore掉),或者添加到gradle.properties文件中(推薦使用這種方法俊抵,這種方法后續(xù)處理也最為便捷)谁不,也有人存放在local.properties里(不建議,local.properties的注釋里說(shuō)明了非gradle生成的內(nèi)容很可能被reset掉)徽诲。

二刹帕、讀取

我們的目的是要在項(xiàng)目的源代碼中能得到對(duì)應(yīng)的信息,但為了達(dá)到這個(gè)目的谎替,我們需要gradle做為中間人幫忙轉(zhuǎn)換一下偷溺。具體流程是:
私密文件——>gradle讀取并處理——>BuildConfig靜態(tài)域或者XML資源文件
分為兩類講:
(1)存儲(chǔ)在非gradle.properties文件里時(shí):
你需要在gradle的配置文件中加入如下代碼,使得gradle讀取你的文件钱贯,并最工程中生成相應(yīng)的資源挫掏,以方便你訪問(wèn)。

1

resValue會(huì)生成相應(yīng)的XML文件秩命,可以通過(guò)R.string.app_key訪問(wèn)尉共。
buildConfigField會(huì)講變量生成為BuildConfig的靜態(tài)域,可以通過(guò)BuildConfig.APP_KEY訪問(wèn)硫麻,需要注意圖片的雙引號(hào)的寫法爸邢,否則生成的BuildConfig類不正確。

(2)存儲(chǔ)在gradle.properties文件里時(shí):
如下代碼:

2

對(duì)拿愧!就是這么簡(jiǎn)單杠河,實(shí)現(xiàn)同樣的功能。這是因?yàn)間radle已經(jīng)加載過(guò)gradle.properties文件了浇辜,你只需要使用就行券敌。(語(yǔ)法類似于jsp網(wǎng)頁(yè))

三、結(jié)束

使用(1)時(shí)記得將文件名添加到gitignore中喲柳洋!

我是歪脖子待诅,Android實(shí)習(xí)工,業(yè)余年輕“司機(jī)”熊镣,喜歡Python卑雁,熱愛(ài)編程募书。歡迎follow我的微博:http://weibo.fallblank.me

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市测蹲,隨后出現(xiàn)的幾起案子莹捡,更是在濱河造成了極大的恐慌,老刑警劉巖扣甲,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件篮赢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡琉挖,警方通過(guò)查閱死者的電腦和手機(jī)启泣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)示辈,“玉大人寥茫,你說(shuō)我怎么就攤上這事》椋” “怎么了坠敷?”我有些...
    開(kāi)封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)射富。 經(jīng)常有香客問(wèn)我膝迎,道長(zhǎng),這世上最難降的妖魔是什么胰耗? 我笑而不...
    開(kāi)封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任限次,我火速辦了婚禮,結(jié)果婚禮上柴灯,老公的妹妹穿的比我還像新娘卖漫。我一直安慰自己,他們只是感情好赠群,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布羊始。 她就那樣靜靜地躺著,像睡著了一般查描。 火紅的嫁衣襯著肌膚如雪突委。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天冬三,我揣著相機(jī)與錄音匀油,去河邊找鬼。 笑死勾笆,一個(gè)胖子當(dāng)著我的面吹牛敌蚜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窝爪,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼弛车,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼齐媒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起纷跛,我...
    開(kāi)封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤里初,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后忽舟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淮阐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年叮阅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泣特。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浩姥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出状您,到底是詐尸還是另有隱情勒叠,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布膏孟,位于F島的核電站眯分,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏柒桑。R本人自食惡果不足惜弊决,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望魁淳。 院中可真熱鬧飘诗,春花似錦、人聲如沸界逛。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)息拜。三九已至溉潭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間少欺,已是汗流浹背岛抄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狈茉,地道東北人夫椭。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像氯庆,于是被迫代替她去往敵國(guó)和親蹭秋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扰付,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,080評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)仁讨,斷路器羽莺,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 這一章主要針對(duì)項(xiàng)目中可以用到的一些實(shí)用功能來(lái)介紹Android Gradle,比如如何隱藏我們的證書文件洞豁,降低風(fēng)險(xiǎn)...
    acc8226閱讀 7,606評(píng)論 3 25
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項(xiàng)盐固,請(qǐng)點(diǎn)擊這里進(jìn)行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,131評(píng)論 8 72
  • 我們要得到一些目標(biāo)有用的屬性,比如當(dāng)量直徑 1.高寬比 這是目標(biāo)的邊界矩形的寬高比 x,y,w,h=cv2.bou...
    xxxss閱讀 3,134評(píng)論 1 52