編譯失敗能打包成功嗎
㈠ 易語言靜態編譯失敗,顯示:靜態連接失敗
找到易語言程序目錄我的是D:\Program Files\E 5.11 完全版\然後找到tools文件夾,裡面有個link.ini文件把這條改下就好linker="D:\Program Files\E 5.11 完全版\VC98linker\bin\link.exe"如果沒有tools文件夾和VC98linker文件夾,就不是完整版我自己破解打包了一個完全可以使用的5..11,下載地址是http://u.115.com/file/dipetkb0#
易語言5.11_完美破解版.7z
㈡ 微信反編譯成功但是回編譯失敗,怎麼樣才能成功回編
用apktool重新打包,再用apksign簽名。
你上面那些是資源沒辦法反匯編,沒事的。
重新打包的時候,資源手動加入。
㈢ Android反編譯(三)— 手動編譯
PS: 最近沒工作,沒工作就沒需求,沒需求就沒什麼技術總結的靈感,那就沒更新什麼。但是兩個月不更新了,要是三個月不更新就會出大事,所以這次打算做一件有意思又不難的事。
之前有發文章寫過反編譯,今天就來試試反編譯之正編譯,開玩笑的,就是試試手動編譯的過程, 平時我們在項目中編譯出包都是使用Gradle直接執行assemble任務就能解決,我打算試試手動模擬整個過程。當然我也是第一次這樣搞,所以如果有寫得不對的地方,還望指出。
眾所周知,apk實質上就是一個壓縮包。復習一下,我們寫個最簡單的Demo,然後打包,然解壓,注意是解壓,不是反編譯,意義是不同的。
注意我這個Demo很簡單,什麼都不引入
然後我們看看整個出包的過程,隨便從網上拿張圖
然後這里我們用Android SDK給我們提供的工具來完成整個流程,工具在sdk文件夾下的build-tools文件夾下,有什麼aapt.exe、dx.bat,用的就是這些
這步應該是整個流程最簡單的吧,我感覺,所以從最簡單的開始。
我們先看看生成的dex有什麼
對比項目,我是一開始最基本的項目,什麼都沒動,所以只有一個MainActivity.clas,所以這里肯定是要先想辦法得到BuildConfig.class和R.class。
輸入命令:
aapt p -f -m -J <輸出路徑> -S <res路徑> -I <android.jar路徑> -M <Manifest路徑>
下一步,我們需要BuildConfig.class
這個BuildConfig.java是由gradle在我們配置好gradle之後自己幫我們生成的,所以我們直接拿來用,然後再javac就得到class文件了
然後我們再編譯我們的MainActivity.java並將它們放到同一個文件夾下, MainActivity因為引用了Android.jar和R文件,所以編譯時注意點,我為此被動好好的復習了一遍javac,都是淚
最後一步,我們用dx工具就能打出dex文件了
然後執行命令就得到一個Dex文件,看看這個文件裡面和上面直接打出的apk中的Dex文件有什麼不同:
看圖,我們上一步已經生成.dex了,那麼我們需要和compiled Resource 還有 Other Resource 一起生成APK。
我們先來生成compiled Resource,也就是resources.arsc
發現之前使用aapt生成R文件的時候沒寫完整,當時可以加一個-F參數直接生成arsc和Manifest
導出的abc.zip裡面就有resources.arsc和AndroidManifest.xml。
因為之前寫漏了,所以肯定要重新編一次MainActivity.java和Dex
我們把剛才的dex文件和aapt生成的resources.arsc、AndroidManifest.xml和res放到一個文件夾裡面。
PS:res文件夾也是上面aapt的命令生成的
然後我們對比這個文件夾和之前apk解壓的文件夾
最後運行
看來是成功了。
再說說遇到的還有兩個問題,並說下我解決問題的思路
(1)我把它們都放到一個文件夾之後,我壓縮成壓縮包,然後改後綴成.apk,然後發現安裝不了,我就直接反編譯,發現發編譯失敗,提示包有問題,以我多點玩包的經驗,我感覺就是壓縮工具出了問題,然後我去下個「好壓」(這不是廣告啊),然後就能正常反編譯了。
(2)但是還是安裝不了,再根據我多年的玩包經驗,我感覺是簽名問題,然後我隨便給這個包上一個簽名,就能正常安裝得到上圖的結果了。
總體來說,還真挺好玩的,這整個過程,就是翻車了幾次。做完之後感覺非常牛逼,為什麼這樣說,因為我知道這整個過程,我就可以做到,我不經過gradle來打包,我自己寫個python腳本來調用aapt和dx來打包也是能做到的。
當然上面純屬異想天開,因為這是個什麼都沒有的Demo所以覺得簡單,要是一個真實的項目,我感覺肯定要有很多坑,別的先不說,一個項目那麼多依賴關系,我這javac要搞死人。
最後如果有不對的地方,希望有大佬能夠指出,畢竟能運行也不能證明完全沒問題。然後我使用的build-tools是28的,不敢保證其它版本包括以後版本的玩法都一樣。
㈣ 反編譯後,怎麼就一個smail文件
因為反編譯失敗了,所以只有smali文件夾了。
1.反編譯Apk得到Java源代碼
首先要下載兩個工具:dex2jar和JD-GUI
前者是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,可以直接查看Jar包的源代碼。
具體步驟:
首先將apk文件,將後綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;
解壓下載的dex2jar,將classes.dex復制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄
運行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件
還是下載工具,這次用到的是apktool
具體步驟:
將下載的兩個包解壓到同一個文件夾下,應該會有三個文件:aapt.exe,apktool.bat,apktool.jar
1.解壓縮下載的兩個文件包,apktool-install-windows-r04-brut1.tar解壓縮後得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解壓後的一個.jar 文件到解壓後的\apktool-install-windows-r04-brut1文件夾里)
2.特別注意:你要反編譯的文件一定要放在C盤的根目錄里
㈤ 解決MonoForAndroid不能編譯問題
最近一直在用Xamarin Mono For Android,因為國內的資料太少,所以很多問題都需要自己動手去弄清除。前幾天,很多群友反映了不能打包(或Debug)APK文件的問題,提示是這樣的,錯誤:Could not create the Android package. See the Output (Build) window for more details.Mono For Android !錯誤:Could not create the Android package. See the Output (Build) window for more details.
吾樂吧軟體站提醒大家,解決方法:
可能性1:可能是你的VS創建的項目路徑含有中文或其他雜亂數據,建議直接創建在 D:\ 試試!!
2014年9月9日補充說明:
可能性2:錯誤詳情裡面有這么一句話:找不到D:\Program Files\Android\android-sdk\tools\\zipalign.exe
直接去這個目錄 D:\Program Files\Android\android-sdk\build-tools\20.0.0\zipalign.exe
PS:上面路徑中的20.0.0,換成你本地相應的路徑,反正有zipalign.exe就可以
拷貝zipalign.exe到D:\Program Files\Android\android-sdk\tools\zipalign.exe,然後重啟VS,接著重新編譯就可以了
2013年4月20日補充說明:
Deployment failed because of an internal error: Failure [INSTALL_FAILED_INVALID_URI]
如果大家發現,路徑沒有中文目錄、特殊字元,但還是不能打包編譯,可能是因為你的APK文件已經生成了,但是被其他程序佔用(例如:你用騰訊手機管家正在使用你的APK文件),請結束其他的程序,確定沒有被佔用,這樣就可以順利打包編譯了。
㈥ 如何反編譯android應用並重新打包
反編譯android步驟入下:
第一:使用apktool直接反編譯apk
第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!