Android SDK Manager更新
解決X國互聯網審查造成國際網站無法訪問
強制使用http
SDK Manager下Tools->Options打開SDK Manager的Settings強制使用http協議
修改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集成開發包,提供幾乎所有必需的Android開發工具.
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官網
http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide&tikiversion=Android
下載OGRE
X國互聯網審查造成hg更新緩慢,從每日構建打包下載比較快,有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"
仔細調試cmake,發現在識別主機的時候,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位系統,也即"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設備都是little endian
ndk-build
ndk r9c編譯會提示類似NDK_PROJECT_PATH相關的錯誤.r9c是目前(2014-2-16)最新版本,實際編譯過程會碰到很多與網上資料不一致的問題,目前來看google之的時間遠大于分析make腳本的時間,初次接觸還是用次新穩定版為佳啊。
指定編譯項目的目錄即可.具體問題還得具體分析,仔細調試"NDK\android-ndk-r9c\build\core\build-local.mk"可以找到問題原因.這個問題比較隱晦,NDK下的“HOWTO.html”有設計NDK-BUILD的說明,但是對r9c都無效。可能是版本太老。
ndk-build NDK_PROJECT_PATH=K:\AndroidDev\NDK\android-ndk-r9c\samples\native-activity
xxxx
xxxx
APK解包(dex逆向)
一般不需要逆向APK,只是在打包SampleBrowserNDK的時候,人品突然逆向爆發了,死活出不來。當然日后反思,原因無非是:第一次玩各個細節都陌生、r9c太新與網絡資料不一致、NDK附帶文檔說明過舊、網絡封鎖頻繁切換代理消耗效率和工作連貫樂趣...
一直覺得APK這名字似曾相識,突然發現竟然和CE3的PAK是一樣的...
完全逆向APK只需三步:apk2dex,dex2jar,jar2src. 想當然的別人有可能會打亂或加密,這里只說自己編譯的APK.
準備工具
下載dex2jar并配置到系統環境,隨便咋配不配也行,只要能保證可以執行安"d2j-dex2jar.bat"即可。免費開源:https://code.google.com/p/dex2jar/
下載JD-GUI,解開下載包就能用.http://jd.benow.ca/#jd-gui-download
逆向三步
用7z解開apk。人家是個zip包(not very sure),什么工具解都行。
執行命令“dex2jar classes.dex”,解出得到"classes_dex2jar.jar"
用JD-GUI打開jar文件即可解開
后來準備去解SampleBrowserNDK沒找到網上別人編好的包,折騰著折騰竟然人品爆發了,發現是eclipse之前導入了NDK samples中的NativeActivity,造成SampleBrowserNDK無法導入,項目的名字重名會造成不少麻煩。折騰后竟然編譯運行成功,第一次逆向android針對的竟然是自己折騰出來的玩意,真是玩的很開心。
apktool解包
apktool可以解開除了java源碼外的所有資源。
安裝與下載
訪問 http://ibotpeaches.github.io/Apktool/install/ 查看安裝與下載方法。簡單來說就是下載一個bat和一個jar放在一起,簡單修改下bat啟動jar的路徑。
使用
apktool d xxx.apk
APK打包
法1:將工程導入eclipse,直接編譯即可。
法2:用ant打包。目前看網絡資料很多不一致,就目前2014-2-16版本sdk和ndk來看,先要update,然后ant
--->先執行"android update project --target 8 --path android-ndk-r9c\samples\native-activity",path接絕對路徑。
--->然后執行"ant debug"
Native調試(ndk-gdb)
Google官方:Using the NDK plugin
警告:在文中提到的“NDK_DEBUG = 1”必須去掉等號前后的空格,否則會編譯報錯:"error: make: * empty variable name. Stop"
cygwin
路徑不支持空格,所以android native相關目錄不要有空格
----
AndroidWorks與AndroidStudio混用的問題
先安裝AndroidWorks后再安裝AndroidStudio,會發現adb無法找到。原來是因為安裝Studio后 “D:\NVPACK\android-sdk-windows\platform-tools” 被清空了。但是會在“C:\Program Files (x86)\Android\android-sdk\platform-tools” 下重現。
adb的路徑在安裝的時候設置到用戶的環境變量中,手動改過來即可。
todo
todo...
todo
todo...
todo
todo...
todo
todo...
todo
todo...
todo
todo...