Skip to content

InstallGuideFor_Android_Chinese

placeintime edited this page May 26, 2020 · 1 revision

NPL Android 中文版安装指南

下载android studio

进入android studio官网 https://developer.android.google.cn/studio/ 下载安装文件

安装android studio

  • android studio需要java的支持,所以必须安装jdk并且在环境变量里设置JAVA_HOME 指向jdk的安装目录。

建议android studio和java都使用64位版本,以免出现某些插件不兼容的问题。

  • 安装android studio需要开启代理。当前版本setup运行时可以立即设置代理,如果遇到未设置代理导致无法下一步的情况,可以先关闭android studio 然后修改安装目录下的bin目录下的idea.properties文件 在最后增加一行增加一行代码 disable.android.first.run=true 然后重启android studio点击configure进行设置 设置好代理服务器后恢复idea.properties文件然后重启android studio即可。

外部工具

必须要安装的有 android sdk,android ndk, LLDB,CMake。其中android sdk至少要有Level 21 这个版本, NDK至少要r14b(越新越好),CMake至少要3.10版本。

  • android sdk最好用android studio来管理 不要另行下载,因为最新的sdk已经不提供更新工具了 所以最好还是用as来维护sdk的更新。
  • ndk CMake已安装的话可以不使用android studio附带的, 使用方式后面会详细说明。

加载工程

点击Open an existring Android Studio project导入工程,选择NPLRuntime/Platform/AndroidStudio目录。

  • 导入工程之前最好先把assets目录放到NPLRuntime/Platform/AndroidStudio/app/assets,这样as可以解析这个目录,导入前没复制assets的话复制完再重启就可以了。
  • 有些版本的android stuido并不会自动设置ndk路径,在加载完工程后可以点击File——Project Structure进行检查

编译代码

编译boost

  • windows环境需要安装Visual Studio 推荐2017。其他平台要确保可以执行cl命令进行c++编译
  • 安装python2.7 设置环境变量 确定命令行可以执行python命令
  • 推荐使用ndk r14b编译 boost 1.69 (boost版本和ndk版本的匹配性可以自行测试) 所以可能需要自己另行下载一份android ndk
  • 设置环境变量ANDROID_NDK 指向ndk路径 设置环境变量BOOST_ROOT 指向boost目录
  • 运行NPLRuntime/externals/boost/下的build_android.bat或build_android.sh脚本编译boost
  • 如果有2个ndk版本 编译boost后记得把ANDROID_NDK改回为原来的版本

编译工程代码

  • 编译c++代码需要用到CMake+ninja。android stuido附带的CMake是3.10版本,我自己使用的CMake是3.14版本, 所以我在gradle脚本里设置的CMake版本是3.14.5。
cmake {
            version "3.14.5"
            path "../../../CMakeLists.txt"
        }

这个版本号可以自己改成自己所使用的CMake版本号,但是最低不能低于3.10。选择使用android stuido附带的CMake的话,它已经自带ninja了不用另外安装。而自己安装的cmake则没有ninja 所以要自己安装 具体方法可以google。如果是自己单独安装的cmake 必须要在path环境变量里加入cmake.exe的访问路径。同样的ninja.exe的访问路径也要在path环境变量里加入。不想安装ninja但又想使用自己单独安装的cmake 可以使用一个偷懒的方法 那就是把as附带的ninj.exe复制到cmake/bin目录下。

  • 所有配置弄好就可以点击build——Make Project 进行编译了。
  • 要查看编译时的输出日志点击左下角的build选项卡
  • 默认编译的是debug版本,要编译release版本可点击左下角的Build Variant进行选择。

调试

Java

  • Java代码无需任何设置就可以调试。

c++

android stuido默认的调试设置没有加载c++的符号文件,所以c++代码无法设置断点。所以我们要对此进行设置。

符号文件的路径是NPLRuntime/Platform/AndroidStudio/app/.externalNativeBuild/cmake/debug/armeabi-v7a/lib其中armeabi-v7a是指令集, 目前我们支持armeabi-v7a和arm64-v8a,可以把2个指令集的符号文件都添加进去。这个目录必须要编译成功后才会出现。

  • android studio 3.5开始.externalNativeBuild更名成.cxx了,这里的路径也要做相应变化

更改包名

  • 修改NPLRuntime/Platform/AndroidStudio/app/build.gradle文件的applicationId字段
  • 修改NPLRuntime/Platform/AndroidStudio/app/AndroidManifest.xml文件的package字段
  • 参考https://www.jianshu.com/p/cbb9509a120a生成一个证书
  • 修改NPLRuntime/Platform/AndroidStudio/gradle.properties文件里的RELEASE_STORE_FILE RELEASE_STORE_PASSWORD RELEASE_KEY_ALIAS RELEASE_KEY_PASSWORD 分别代表证书文件路径 密码 和别名
Clone this wiki locally