的笔记

随时随地编辑

Android开发环境笔记

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

    posted on 2014-02-13 21:15 的笔记 阅读(3190) 评论(0)  编辑 收藏 引用


    只有注册用户登录后才能发表评论。
    网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理