Android SDK Manager更新
解決X國互聯(lián)網(wǎng)審查造成國際網(wǎng)站無法訪問
強制使用http
SDK Manager下Tools->Options打開SDK Manager的Settings強制使用http協(xié)議
修改HOST
C:\Windows\System32\drivers\etc\HOSTS
#Android sdk更新
203.208.46.146 www.google.com
74.125.113.121 developer.android.com
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
Tegra Android Developer Pack
Android集成開發(fā)包,提供幾乎所有必需的Android開發(fā)工具.
https://developer.nvidia.com/tegra-android-development-pack
下載安裝后,不用刪除安裝文件“D:\NVPACK\tadp_download”,下次安裝時還可以再用
Ogre編譯參考
建置全Native Code Ogre1.9 Android SimpleBrowser心得
來源:與食人魔獸之間的恩怨情仇
http://makedreamvsogre.blogspot.tw/2013/12/native-code-ogre19-android-simplebrowser.html
CMake Quick Start Guide
來源:Ogre官網(wǎng)
http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide&tikiversion=Android
下載OGRE
X國互聯(lián)網(wǎng)審查造成hg更新緩慢,從每日構(gòu)建打包下載比較快,有tag,branch的打包,perfect!
https://bitbucket.org/sinbad/ogre/downloads
64位NDK問題
cmake警告:Could not uniquely determine machine name for compiler from
錯誤:"Could not any working toolchain in the NDK. Probably your Android NDK is"
仔細調(diào)試cmake,發(fā)現(xiàn)在識別主機的時候,ndk的toolchain地址是這類:"android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64",cmake沒有處理64位的"-x86_64"
修正:
"Ogre\Branches_v1-9\CMake\toolchain\android.toolchain.cmake" line359,修改為64位系統(tǒng),也即"set( ANDROID_NDK_HOST_SYSTEM_NAME "windows-x86_64" )"
NDK Endianness
cmake錯誤:"CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/TestBigEndian.cmake:47 (MESSAGE):
no suitable type found"
修正:直接修改好了,檢查個毛,問題出在"C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CheckTypeSize.cmake"中,跟不動了,直接跳過檢查吧.
file://Ogre\Branches_v1-9\CMakeLists.txt
#include(TestBigEndian)
#test_big_endian(OGRE_TEST_BIG_ENDIAN)
set(OGRE_TEST_BIG_ENDIAN FALSE)
參考:http://stackoverflow.com/questions/6212951/endianness-of-android-ndk
可以假定所有android設(shè)備都是little endian
ndk-build
ndk r9c編譯會提示類似NDK_PROJECT_PATH相關(guān)的錯誤.r9c是目前(2014-2-16)最新版本,實際編譯過程會碰到很多與網(wǎng)上資料不一致的問題,目前來看google之的時間遠大于分析make腳本的時間,初次接觸還是用次新穩(wěn)定版為佳啊。
指定編譯項目的目錄即可.具體問題還得具體分析,仔細調(diào)試"NDK\android-ndk-r9c\build\core\build-local.mk"可以找到問題原因.這個問題比較隱晦,NDK下的“HOWTO.html”有設(shè)計NDK-BUILD的說明,但是對r9c都無效。可能是版本太老。
ndk-build NDK_PROJECT_PATH=K:\AndroidDev\NDK\android-ndk-r9c\samples\native-activity
xxxx
xxxx
APK解包(dex逆向)
一般不需要逆向APK,只是在打包SampleBrowserNDK的時候,人品突然逆向爆發(fā)了,死活出不來。當(dāng)然日后反思,原因無非是:第一次玩各個細節(jié)都陌生、r9c太新與網(wǎng)絡(luò)資料不一致、NDK附帶文檔說明過舊、網(wǎng)絡(luò)封鎖頻繁切換代理消耗效率和工作連貫樂趣...
一直覺得APK這名字似曾相識,突然發(fā)現(xiàn)竟然和CE3的PAK是一樣的...
完全逆向APK只需三步:apk2dex,dex2jar,jar2src. 想當(dāng)然的別人有可能會打亂或加密,這里只說自己編譯的APK.
準備工具
下載dex2jar并配置到系統(tǒng)環(huán)境,隨便咋配不配也行,只要能保證可以執(zhí)行安"d2j-dex2jar.bat"即可。免費開源:https://code.google.com/p/dex2jar/
下載JD-GUI,解開下載包就能用.http://jd.benow.ca/#jd-gui-download
逆向三步
用7z解開apk。人家是個zip包(not very sure),什么工具解都行。
執(zhí)行命令“dex2jar classes.dex”,解出得到"classes_dex2jar.jar"
用JD-GUI打開jar文件即可解開
后來準備去解SampleBrowserNDK沒找到網(wǎng)上別人編好的包,折騰著折騰竟然人品爆發(fā)了,發(fā)現(xiàn)是eclipse之前導(dǎo)入了NDK samples中的NativeActivity,造成SampleBrowserNDK無法導(dǎo)入,項目的名字重名會造成不少麻煩。折騰后竟然編譯運行成功,第一次逆向android針對的竟然是自己折騰出來的玩意,真是玩的很開心。
apktool解包
apktool可以解開除了java源碼外的所有資源。
安裝與下載
訪問 http://ibotpeaches.github.io/Apktool/install/ 查看安裝與下載方法。簡單來說就是下載一個bat和一個jar放在一起,簡單修改下bat啟動jar的路徑。
使用
apktool d xxx.apk
APK打包
法1:將工程導(dǎo)入eclipse,直接編譯即可。
法2:用ant打包。目前看網(wǎng)絡(luò)資料很多不一致,就目前2014-2-16版本sdk和ndk來看,先要update,然后ant
--->先執(zhí)行"android update project --target 8 --path android-ndk-r9c\samples\native-activity",path接絕對路徑。
--->然后執(zhí)行"ant debug"
Native調(diào)試(ndk-gdb)
Google官方:Using the NDK plugin
警告:在文中提到的“NDK_DEBUG = 1”必須去掉等號前后的空格,否則會編譯報錯:"error: make: * empty variable name. Stop"
cygwin
路徑不支持空格,所以android native相關(guān)目錄不要有空格
----
AndroidWorks與AndroidStudio混用的問題
先安裝AndroidWorks后再安裝AndroidStudio,會發(fā)現(xiàn)adb無法找到。原來是因為安裝Studio后 “D:\NVPACK\android-sdk-windows\platform-tools” 被清空了。但是會在“C:\Program Files (x86)\Android\android-sdk\platform-tools” 下重現(xiàn)。
adb的路徑在安裝的時候設(shè)置到用戶的環(huán)境變量中,手動改過來即可。
todo
todo...
todo
todo...
todo
todo...
todo
todo...
todo
todo...
todo
todo...