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...