首页 > 编程知识 正文

clang编译android内核,androidrar解压工具

时间:2023-05-06 18:24:46 阅读:242012 作者:2813

FreeRDP下载编译生成eclispe下的android工程

下载freeRDP

wget (不让输入,自己搜资源吧)

解压

tar xvf FreeRDP-master

cd FreeRDP-master

下面简单说说编译的过程。这个是需要用到cmake来编译

资料参考(http://www.devdiv.com/forum.php?mod=viewthread&tid=195853,注:这个已经是老版本的编译教程。新版本有一些不同)

可以看一下docs里的README.android文件。这里面详细的描述了如何编译android的客户端。大概有三种方法。

1)直接用cmake编译出apk文件。

2)用cmake编译出ant脚本,然后用ant命令来编译apk。

3)用cmake只编译libfreerdp-android.so。然后导入eclipse中来生产apk。

实际开发中用第三种比较多。一般都是改动jni代码后手动编译so库然后使用eclipse来调试java代码。

因为android版本的rdp协议都是基于freerdp的代码的。而freerdp需要以来openssl库。所以首先需要编译android-external-openssl-ndk-static。下载地址https://github.com/bmiklautz/android-external-openssl-ndk-static(前面已经编译)

这个是一个ndk的工程。需要Android NDK (>= r9),下载完后配置好ndk的环境变量。进入cd android-external-openssl-ndk-static,然后ndk-build,编译完生成静态库。如下图:   3.然后是在freerdp的根目录使用android的keychain来编译整个项目生成so动态库。根据文档终提供的编译命令如下: cmake -DCMAKE_TOOLCHAIN_FILE=cmake/AndroidToolchainNaNake -DANDROID_NDK="_your_ndk_path_here_" -DFREERDP_ANDROID_EXTERNAL_SSL_PATH="_your_ssl_build_root_path_" -DANDROID_BUILD_JAVA=OFF "_your_ndk_path_here_"就是你的ndk的路径,写绝对路径。 "_your_ssl_build_root_path_"这个就是第3步里编译出来的android-external-openssl-ndk-static的路径, 最后环境下替换后的编译命令如下:

cmake -DCMAKE_TOOLCHAIN_FILE=cmake/AndroidToolchainNaNake -DCMAKE_BUILD_TYPE=Debug -DPKG_CONFIG_EXECUTABLE="/usr/local/pkgconfig/mrdds" -DANDROID_NDK="/usr/local/ndk" -DFREERDP_EXTERNAL_SSL_PATH="/usr/local/android-external-openssl-ndk-static" -DANDROID_BUILD_JAVA=OFF –L

(PKG_CONFIG_EXECUTABLE参数 防止缺少PKG_CONFIG_EXECUTABLE的错误) 执行完后会生成config文件,接着输入make开始编译。编译后会在FreeRDP/client/Android/libs/armeabi-v7a目录下生成libfreerdp-android.so动态库。

到此就生成了Android的工程项目,现在完成了整个编译的一大半,这部分也是最容易出现问题的部分,只要这部分,没有错误的编译完成,基本上导入eclipse(bundle adt)就能生成我们想要的apk。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。