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