混淆apk是一個很基礎(chǔ)的工作,博客上也有一堆介紹,本文提供一下這類工作的解決思路。在安卓源碼下面和android studio里面的做法差異不大,本文以android源碼舉例。
十載的平陸網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整平陸建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“平陸網(wǎng)站設(shè)計”,“平陸網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
首先在對應(yīng)mk文件里面添加proguard enabled的語句,系統(tǒng)有一個自帶的build/core/proguard.flags,默認是使用這個文件,而且一般項目默認是關(guān)閉的,這也是有原因的。因為這里的proguard.flags是沒有針對app的配置的,使用默認的混淆,app很有可能就不工作了。
添加了mk文件修改之后,在Android.mk同級根目錄創(chuàng)建本app自有的proguard.flags。新增內(nèi)容如下,這里需要注意,網(wǎng)上很多demo,基本分為三部分,一部是保留app基礎(chǔ)功能部分的內(nèi)容不混淆;2是保持app對外接口,例如get、set、isxx、AIDL、public、native層的接口或者類;3.是第三方j(luò)ar包或接口?;煜幕驹砭褪菍⑸显V類或接口進行統(tǒng)一簡單字母的替換,如果改變了這些對外接口的名字,很有可能被別人使用的時候就找不到對應(yīng)哦接口
一些第三方的庫如何不進行混淆,這個根據(jù)項目特點,可以自行搜索,比如百度的地圖包什么的。
然后是如何驗證和解決混淆過程遇到的問題,因為是對接口名進行替換,如果出現(xiàn)混淆問題的話,log里面一定會有類似
這個時候只需要對相關(guān)接口進行例外(-keep)即可,然后用android-studio,直接打開或者dex2jar進行反解可以看到相關(guān)的接口是否被簡單替換。
以下文章來源于小雨編程 ,作者小雨tt
“使用機智云AIoT平臺支持項目自生成APP源碼,即可輕松解決Android開源項目啦,”開發(fā)者下載源碼后,只需要優(yōu)化UI和設(shè)計設(shè)備控制界面控制邏輯,源碼的控制頁面編寫了機智云SDK控制設(shè)備的標(biāo)準流程,APP源碼二次開發(fā)過程中只需按照該流程進行相關(guān)代碼的優(yōu)化即可快速完成針對自身產(chǎn)品的智能控制APP。
因此只要我們將源碼工程文件成功導(dǎo)入Android Studio,那么我們便可以自由定制我們的應(yīng)用程序,那么如何正確導(dǎo)入到Android Studio中,編譯成功并在真機上運行呢?
01下載項目
在機智云官網(wǎng),我們定義好數(shù)據(jù)點后,在服務(wù)-應(yīng)用開發(fā)子菜單中,下載工程文件。
機智云APP代碼自動生成服務(wù)介紹:
02方法
由于本地環(huán)境與開源工程文件中不同,理論上我們把開源工程文件中的環(huán)境修改成和我們本地相同的就可以順利導(dǎo)入了。
為了正確修改開源工程配置文件,我們可以新建一個本地工程文件夾,對照參考。
第一步
修改根目錄下的build.gradle文件
將開源工程項目中的build.gradle與本地工程保持一致。
第二步
修改gradle/wrapper文件夾里gradle-wrapper.properties配置文件
將distributionUrl中的gradle版本保持與本地項目一致;
第三步
我們再修改app目錄下的build.gradle文件
這時候開源項目與我們的本地項目區(qū)別就有點大了,我們只需擇其重點進行修改
將機智云版 本的 compileSdkVersion , buildToolsVersion , minSdkVersion , targetSdkVersion 與本地保持一致;這里由于自2018年底開始Android已經(jīng)拋棄了 compile ,所以這里我們需要將 compile 換成 implementation ,同時將 com.android.support:design , com.android.support:appcompat 換成與本地版本相一致的28.0.0版本
下面是修改之后的版本:
第四步
導(dǎo)入項目再配置
打開AndroidStudio修改 基本的配置參數(shù)已經(jīng)修改的差不多了,這時我們導(dǎo)入項目試一試,打開Android Studio歡迎界面,點擊Open an existing Android Studio project;
在工程界面工具欄,點擊編譯按鈕,這時候可能還會 報 一些小錯誤,比如:
它表示最小開發(fā)版本不需要在清單文件中解釋,我們只需點擊藍色下劃線,跳轉(zhuǎn)到如下界面。
點擊方框內(nèi)容,打開清單文件
刪除改行,再Try Again重新同步一下gradle工程。
第五步
修改部分過時的函數(shù)
點擊小錘子重新編譯一下工程,此時仍會報如下錯誤:
這里報錯(找不到符號變量 MAXRIX_SAVE_FLAG ) 這是因為我們的sdk版本較高,新的sdk已經(jīng)對之前老版本里的方法進行了修改,調(diào)用 canvas.save(Canvas.CLIP_SAVE_FLAG) ;方法編譯器報錯,我們只需要 save() 方法里的參數(shù)刪除即可,直接調(diào)用 canvas.save() 方法就編譯通過了。
此時,我們的APP已經(jīng)可以運行啦!
end..
這篇教程是以使用機智云AIoT平臺的源碼為例,如何正確的編譯項目。其實對于大多數(shù)網(wǎng)上的Android開源項目都可以用這種方法來導(dǎo)入。
錯過了#秋天的第一杯奶茶,那我們一起來敲代碼吧
今日份推薦,安排加購鴨..
中移Cat.1 4G DTU模組ML302-GC211支持OTA免開發(fā)快速接入機智云
我們經(jīng)常會用Mac系統(tǒng)創(chuàng)建IOS應(yīng)用項目,但是如何在Mac系統(tǒng)中創(chuàng)建Android應(yīng)用項目呢?下面我給大家分享一下。
工具/材料
Android Studio
首先我們在Mac系統(tǒng)中要安裝Android Studio軟件,然后點擊Start a new Android Studio project選項,如下圖所示
接下來進入項目名稱設(shè)置界面,這里需要給項目起一個名字,如下圖所示
然后需要我們選擇一下創(chuàng)建的Android應(yīng)用運用哪個SDK,如下圖所示,我建議選擇比較穩(wěn)定的版本
接下來會進入主界面樣式選擇界面,我們選擇空模板樣式即可,如下圖所示
接著給主界面文件起名字,這里默認是MainActivity,我們不需要設(shè)置,默認即可,如下圖所示
設(shè)置完以上信息以后,我們就可以看到Android Studio就會進入項目創(chuàng)建進度了,如下圖所示
接下來創(chuàng)建好項目以后,默認主界面就會顯示項目列表,如下圖所示
如果想運行項目的話我們點擊頂部的運行按鈕即可,如下圖所示
最后Android Studio就會啟動Android手機模擬器來展示我們項目的信息了,如下圖所示
有兩個辦法打開項目:
1.通過"File-New-Project-create project from existing source"
contents框中選取第二個 create project from existing source
點擊browse按鈕——選擇你要引入的項目(已有的項目)
然后下面的把按本選擇上重新選擇一下項目的版本號
2.通過"File-import-general-Existing Projects into Workspace"
在知道unity remote之前,我都是導(dǎo)出安裝包到手機上調(diào)試,真的很麻煩。
但是這篇文章也不是講怎樣使用unity remote調(diào)試項目。因為。。。emmmm看了很多教程,結(jié)果沒有一次成功的。
在這n多次嘗試之后我發(fā)現(xiàn)了相對比較便捷的方案,需要使用usb連接電腦,build and run 項目就可以直接在手機上打開了。
————————————————以上都是廢話————————————————————————
要創(chuàng)建android項目所需要的的 Android SDK之類的可以直接在unity hub中添加對應(yīng)的組件即可。
配置sdk和構(gòu)建android項目就不說了,很多教程的。
將手機設(shè)置為開發(fā)者模式、打開開發(fā)者選項中的usb調(diào)試。
在unity項目中點擊build and run 第一次需要在電腦上創(chuàng)建安裝包,創(chuàng)建完成之后在手機上會提示安裝你的應(yīng)用。安裝完之后就可以在手機上運行啦。
之后如果有修改項目內(nèi)容,再次點擊build and run,當(dāng)項目重新構(gòu)建好之后,手機上的應(yīng)用也會跟著自動更新并打開。
工具/材料
電腦
android studio
01
從網(wǎng)上下載并安裝Android Studio然后打開它?,F(xiàn)在,你準備好開始你的第一個Android應(yīng)用程序!
首先是這個android項目的項目名,在這里進行輸入即可
注意,這里我們使用的android studio的版本為2.2
一直下一步,等待一定的時間,這取決于你機器的配置,android studio最為谷歌官方唯一指定的android項目開發(fā)ide,具有超高度的功能集合性,同時后面我們會看到android studio采用和eclipse不同的編譯方式,即Gradle編譯,以及采用云資源模式(服務(wù)器全在海外,部分功能需要翻墻才能使用,醉了),所以,不要對其卡慢抱有不滿情緒.
02
選擇對應(yīng)的android sdk版本,android像ios一樣,也有很多分類版本了,從低到高,還有像android wear(手表), android TV(電視),android auto(車載)等各種版本,選擇你要將這個項目跑到什么設(shè)備上邊去,以及系統(tǒng)的版本,這里我們選擇android手機項目,版本可以選擇4.0,目前4.0基本就是最低版本,當(dāng)然微信,qq,支付寶之類的都是一直支持到2.3版本的
03
這里是android項目的布局文件,目前因為我們這個項目只有一個主窗口,這個布局文件就是屬于主窗口的,這里記錄的這個窗口中有哪些控件,以及這些控件的位置和排列模式,像TextView就是一個文本控件,而RelativeLayout則是布局控件,用于控制控件的布局。
04
這就是穿著中的gradle編譯的編譯配置文件了,里面包含了編譯中的各種配置選項,對于從eclipse中轉(zhuǎn)過來的人來說,要搞懂這里的各種配置可是要費不少腦子的哈!
05
這是android項目的清單文件,這里包含了這個應(yīng)用程序的圖標(biāo)設(shè)置,以及activity等,activity是android四大組件之一,可以直觀理解為我們看到的一個個的窗體,凡是需要顯示出來的activity,都需要在這里注冊寫明
06
這里是窗口的java主類,android的主要編程語言是java語言,當(dāng)然也有支持c++編程的ndk,以及現(xiàn)在很火的前端腳本編寫android項目的方法,這個類表示主窗口,OnCreat()方法會在這個界面被啟動的時候執(zhí)行。
07
點擊這里即可運行這個由系統(tǒng)為我們編寫好android項目了,沒錯,這已經(jīng)是一個完成的android項目,只是比較簡單而已,但主要部件都不少。
08
我們啟動的應(yīng)用就是跑在這里的模擬器當(dāng)中的,我們可以創(chuàng)建自己的模擬器,自由的對模擬器的配置進行自定義,包括模擬器的系統(tǒng)版本
09
完美,我們的第一個應(yīng)用程序已經(jīng)跑起來了,雖然只是顯示了一個Hello World文本,不過怎們樣都算完成了一個android應(yīng)用程序,后續(xù)只要對其進行打包簽名,混淆加密后即可發(fā)布到應(yīng)用市場供別人下載使用.
本文標(biāo)題:android項目,android項目運行時閃退
網(wǎng)站網(wǎng)址:http://chinadenli.net/article8/dsiicip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)頁設(shè)計公司、標(biāo)簽優(yōu)化、電子商務(wù)、、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)