利用adb工具android真机环境运行cpp(无需root)
来源:互联网 发布:蓝牙串口调试助手源码 编辑:程序博客网 时间:2024/04/30 16:17
想学习下android下的epoll,可惜macos是基于unix的,无epoll库支持
那就直接写cpp到真机上运行吧
项目结构如下图所示
项目文件为
android_helloandroid
|-------jni
|-------|-------helloandroid.cpp
|-------|-------Android.mk
|-------build.sh
helloandroid.cpp文件内容为
#include <stdlib.h>#include <stdio.h>int main(int argc, char const *argv[]){printf("%s\n","halo" );return 0;}
Android.mk文件内容为
# Copyright (C) 2009 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.#LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := helloandroidLOCAL_SRC_FILES := helloandroid.cppLOCAL_STATIC_LIBRARIES := libcinclude $(BUILD_EXECUTABLE)* 注意最后一行为BUILD_EXECUTABLE
运行脚本build.sh为
#!/bin/bashexport MODULE_NAME="helloandroid"ndk-buildadb push libs/armeabi/${MODULE_NAME} /data/localecho ""echo "------ run ${MODULE_NAME} -------"echo ""adb shell /data/local/${MODULE_NAME}rm -r libsrm -r objecho ""
注意需要设置环境变量
我设置在了mac的用户文件里
~/.bash_profile
export ANDROID_SDK_ROOT=/programes/android-sdk-macosxexport ANDROID_NDK_ROOT=/programes/android-ndk-r9dexport COCOS2DX_ROOT=//files/cocos2d-2.0-x-2.0.4export NDK_ROOT=/programes/android-ndk-r8c export ADB_ROOT=/Applications/Android\ Studio.app/sdk/platform-toolsexport PATH=$PATH:$ANDROID_SDK_ROOTexport PATH=$PATH:$ANDROID_NDK_ROOTexport PATH=$PATH:$ADB_ROOT### Your previous /Users/ashqal/.bash_profile file was backed up as /Users/ashqal/.bash_profile.macports-saved_2014-01-14_at_13:20:36### MacPorts Installer addition on 2014-01-14_at_13:20:36: adding an appropriate PATH variable for use with MacPorts.export PATH=/opt/local/bin:/opt/local/sbin:$PATH# Finished adapting your PATH environment variable for use with MacPorts.这样就可以直接找到adb、ndk-build命令了
最后是打开真机调试模式,插上真机,打开终端,在项目根目录下运行此build.sh
总结下,
思路就是用ndk-bulid工具的BUILD_EXECUTABLE脚本自动生成android可识别的可运行文件,
然后用adb工具把文件上传到真机上,
然后用adb shell命令执行此文件
0 0
- 利用adb工具android真机环境运行cpp(无需root)
- 利用adb无线连接android手机进行调式 无需获得root权限
- Android安装NDK运行环境无需cygwin
- Android安装NDK运行环境无需cygwin
- Android安装NDK运行环境无需cygwin
- 无线调试android程序(无需root)
- ADB工具安装对真机进行Monkey测试的环境搭建
- iOS 真机调试(无需证书)
- android 无需root静默安装
- Android 5.0后截屏,无需root
- Android无需root查看数据库
- android真机环境获取应用的sqlite文件(获取运行后的业务数据)
- Appium&Android SDK&Eclipse环境运行TestCase&真机实战(一)
- adb 以root来运行
- android真机调试(不root,免费)查看数据库
- Android开发者演示工具(真机)
- Android adb root权限
- Android adb root权限
- mysql-installer-5.5.25.0.msi 安装结束之后测试mysql是否安装成功的方式-环境变量
- Hibernate多对多
- jsp 文本框不可编辑,禁止文本框的输入,JSP页面中的文本框只显示内容,而用户无法修改
- 陌上相逢,拾取馨暖
- 巧用dimens适配多个分辨率
- 利用adb工具android真机环境运行cpp(无需root)
- MFC API——》PreCreateWindow
- USACO Mother's Milk
- hadoop测试
- 压缩感知跟踪(一)
- Spring MVC 入门示例
- perl常用的内置特殊变量
- 《Software Design中文版01》
- 新买的枕头