当前位置:首页 » 安卓系统 » android可执行文件

android可执行文件

发布时间: 2023-06-02 15:58:34

㈠ android上如何运行可执行文件(.exe格式)的

需要工具:
1、网上下载Bochs模拟器主程序(就是一个apk程序文件)
2、配置文件(已经打包好在附件里)
3、系统镜像 操作步骤

步骤1:安装模拟器主程序(这个就不用多说了,和普通安卓应用一样)
步骤2:将装有配置文件的SDL文件夹拷贝到机身内存根目录中(没有机身内存的手机请拷贝到SD卡中,不清楚拷贝到哪里的就用RE管理器拷贝到手机根目录显示sdcard的文件夹里)
步骤3:将系统镜像文件改名为c.img,拷贝到步骤2中的SDL文件夹(要用什么系统就拷贝相应的镜像)
步骤4:运行安装好的模拟器主程序,没有问题的话就会开机运行操作系统了

㈡ apk是什么操作系统的可执行文件

apk是安卓(android)系统的可执行文件,其用于在设备上安装应用程序。

㈢ andriod 源码编译时,如何添加一个可执行文件到文件系统中

是这样的
1.进入你的android系统源码的build/target/board/generic目录下
2.把你的abc拷贝到 这个目录下
3.编辑这个目录下的vi AndroidBoard.mk这个文件
4.添加 PRODUCT_COPY_FILES += $(LOCAL_PATH)/abc:system/bin/abc

这样在make源码的时候,就可以自动进行这次拷贝了

㈣ 如何在android系统上执行c文件

本人使用mini6410开发了一个sqlite数据库的程序,在mini6410的linux系统下已经能够成功运行了。因为Android使用的也是linux内核,所以我想当然的认为按照同样的方法将程序移植到mini6410的android系统中也可以成功运行,但是当我运行程序的时候却提示我不能找到可执行文件(xlisten-arm是交叉编译出来的可执行文件): / # ./xlisten-arm /system/bin/sh: ./xlisten-arm: not found 1.探索: 在网上搜索起初认为可能是库文件的不全导致的,于是在查看可执行文件xlisten-arm所需要的动态链接库: 执行语句: # arm-linux-readelf -a ./xlisten-arm grep "Shared" 0x00000001 (NEEDED) Shared library: [libsqlite3.so.0] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] 知道所需的动态链接库后,到android文件系统中去照着写库文件,在目录/system/lib 中,果然缺少相应的库文件,于是认为找到了我问题的根源所在,在复制相应库文件的时候为了保留原来的属性,还特意用了 #cp -a filename dir 谁知将这些库都添加进去以后,仍然无济于事! 看来不仅仅事库文件缺失的问题了,而且一般来说,如果真的是因为缺少库文件而导致的问题,终端会提示我们链接某库文件时没有找到该库文件。 2.正确的解决方法: 将程序编译的时候选择静态编译,即使用选项 -static 我是对Makefile文件中的CFLAG变量进行修改 CFLAGS = -Wall 改为; CFLAGS = -Wall -static 然而此时又出现问题了: undefined reference to `pthread_mutex_*' undefined reference to `dl*' 提示没有定义这些函数,于是在包含的库文件中添加了这两个库文件 在Makefile中,修改LIBS变量; LIBS = -lsqlite3 -lm -lcrypt 改为: LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl 然后进行交叉编译,成功了! 编译出来的可执行文件比较大,因为事静态编译的,我的有2M多, 拷贝到开发板的andriod系统中, 修改权限: #chmod 777 xlisten-arm 执行: / # ./xlisten-arm OK!能够正确的执行了!

安卓手机怎样才可以运行exe后缀文件

一般不能运行。

Exe是一个Exe文件(可执行文件),一个可执行文件,浮动和定位在操作系统存储空间。在MS-DOS和MS-Windows下,这些文件的扩展名是exe。

Exe是一种计算机文件格式。一般的手机系统不支持,转换也不可能,程序的语法不同。没有手机是足够好的运行一个大的exE文件格式。

(5)android可执行文件扩展阅读:

可执行程序在操作系统存储空间中浮动并定位的可执行程序。在MS-DOS和MS-Windows下,这些文件的扩展名是exe。

在WINDOWS操作系统中,有两种可执行文件,一种是名为COM的dropout文件,另一种是。exe文件。

COM通常用于DOS。在WINDOWS中,可执行文件通常是EXE文件。在MS-DOS中,用来标识可执行文件的文件扩展名。用户在提示行输入不带exe扩展名的文件名,然后按Enter运行可执行文件。

㈥ 安卓的可执行文件的扩展名

A.exe为Windows操作系统的可执行文件;
B.rpm为Linux操作系统的安装文件;
C.ipa是Iphone OS中的可执行文件扩展名;
D.apk是Android系统中的可执行文件扩展名;
故选:D.

㈦ 怎么使用Android源码编译c模块生成可执行文件

1. 在./development目录下创建一目录 如:myhello
2. 进入hello目录,在其下编写自己的.c文件,如: myhello.c
#include <stdio.h>
int main()
{
printf("hello world\n");
exit(0);
//return 0;
}
3. 在hello目录中,编写Android.mk, 内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myhelloworld
LOCAL_SRC_FILES := myhello.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
4. 回到Android源代码顶层目录,进行编译,make myhelloworld
5. 生成的可执行文件位于:out/target/proct/lotus/system/bin/ 目录下
6. adb push 到手机 /data 目录下,然后进入adb shell,到data目录下,执行./myhelloworld 皆可

手动编译连接【arm-eabi-gcc 的目录随andorid的版本而有变化,还有就是需要链接的文件如果比较多时,需要很多-l 就很麻烦了】
7、编译成目标文件:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -I bionic/libc/arch-arm/include/ -I bionic/libc/include -I bionic/libc/kernel/common -I bionic/libc/kernel/arch-arm -g -c helloworld.c -o hello.o
8、生成可执行代码:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -nostdlib -Bdynamic -Wl,-T,build/core/armelf.x -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,noreloc -o helloworld -Lout/target/proct/[generic]/obj/lib -Wl,-rpath-link=out/target/proct/[generic]/obj/lib -lc hello.o -entry=main

其中[ ]中部分根据实际情况修改

**************************************************
实验:
1. 建目录(my Android)/development/test, 在该目录下新建 Android.mk和fb_test.c文件

2. Android.mk文件

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myfbtest
LOCAL_SRC_FILES := fb_test.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

3. 以下为fb_test.c
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <linux/kd.h>

#include <stdio.h>

#define FBBIT_PER_PIXEL 32
#define FBBIT_PIXEL_IMAGE 16
#define PIXELS_WIDTH_BYTE 4
#define BYTE_PER_PIXEL 3
#define FB_GRAPHICS_PATH "/dev/graphics/fb0"
#define DEV_TTY0_PATH "/dev/tty0"

#define DISPLAY_ERROR -1
#define DISPLAY_SUCCESS 0

#define GET_BATTERYCAPACITY_ERR -1

#define MAX_STR 255

static struct {
int fd;
void *pixels;
struct fb_fix_screeninfo fixed;
struct fb_var_screeninfo var;
int align_xres;
} fb;

int getBatteryCapacity(void)
{
FILE *in;
char tmpStr[MAX_STR + 1];
char capfile[] = "/sys/class/power_supply/battery/capacity";

if (capfile == NULL)
return GET_BATTERYCAPACITY_ERR;

in = fopen(capfile, "rt");
if (in == NULL)
return GET_BATTERYCAPACITY_ERR;

if (fgets(tmpStr, MAX_STR, in) == NULL) {
printf("Failed to read battery capacity!\n");
fclose(in);
return GET_BATTERYCAPACITY_ERR;

}

printf("Battery capacity(ascii): %s\n", tmpStr);
fclose(in);

return 0;//atoi(tmpStr);
}

static int vt_set_graphicsmode(int graphics)
{
int fd, r;
fd = open(DEV_TTY0_PATH, O_RDWR | O_SYNC);
if (fd < 0)
return DISPLAY_ERROR;
r = ioctl(fd, KDSETMODE, graphics);
close(fd);
return r;
}

int display_init(void)
{
fb.fd = open(FB_GRAPHICS_PATH, O_RDWR);
if (fb.fd < 0)
return DISPLAY_ERROR;

if (ioctl(fb.fd, FBIOGET_FSCREENINFO, &fb.fixed) < 0)
return DISPLAY_ERROR;
if (ioctl(fb.fd, FBIOGET_VSCREENINFO, &fb.var) < 0)
return DISPLAY_ERROR;
fb.align_xres = fb.fixed.line_length /
(fb.var.bits_per_pixel >> BYTE_PER_PIXEL);

fb.pixels = mmap(0, fb.fixed.line_length * fb.var.yres_virtual,
PROT_READ | PROT_WRITE, MAP_SHARED, fb.fd, 0);
if (fb.pixels == MAP_FAILED)
return DISPLAY_ERROR;

vt_set_graphicsmode(KD_GRAPHICS);

memset(fb.pixels, 0, fb.fixed.line_length * fb.var.yres_virtual);
//display_update(fb.pixels, fb.align_xres, fb.var.yres);
fb.var.activate = FB_ACTIVATE_FORCE;
ioctl(fb.fd, FBIOPUT_VSCREENINFO, &fb.var);

printf("display_init ok\n");

return DISPLAY_SUCCESS;
}

void display_on(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_UNBLANK);
}

void display_off(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_POWERDOWN);
}

int main()
{
display_init();
display_off();//关显示屏

getBatteryCapacity();
sleep(5);

display_on();//开显示屏

return 0;
}

㈧ 如何编译android 可执行的二进制文件

Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码。 之前我写过一篇文章反编译Android的apk包到smali文件 然后再重新编译签名后打包实现篡改apk的功能。 最近又有一种新的方法来实现直接从Android apk包里的classes.dex文件,把dex码反编译到java的.class二进制码,然后从.class二进制码反编译到java源码想必就不用我来多说了吧。 首先我们需要的工具是dex2jar和jd-gui 其中第一个工具dex2jar是用来把classex.dex文件也就是dex二进制码转化为java的标准.class二进制码,然后jd-gui是把标准的.class二进制码再反编译为java源码。 首先从apk包里面提取出classes.dex 放到dex2jar目录下 然后在命令行下执行 dex2jar.bat classes.dex 这时执行成功后会生成一个classes.dex.dex2jar.jar文件 这个文件再用jd-gui打开,如下图 几乎跟我自己写的这个程序的源码一样 提供这个反编译方法主要用于大家学习与研究,有问题可以与我邮件讨论。 希望大家不要用这个方法从事恶意的活动,毕竟,别人辛辛苦苦写程序也不容易,用这个方法可以大致的学习到别人写的程序的逻辑,架构,希望对大家有所帮助。 Android 逆向apk程序的心得 本文主要介绍如何逆向一个Android的APK应用程序,本文提供的方法仅供研究学习之用。 本文需要用到的工具有 jdk 这个用于搭建java运行环境 AXMLPrinter2.jar 这个用于逆向.xml文件 baksmali.jar 这个用于逆向classex.dex文件 由于Android的.apk文件实际上就是一个zip文件 可以直接用winrar打开

热点内容
服务器安全怎么做 发布:2025-02-09 12:08:08 浏览:484
传奇编译完整部署教程 发布:2025-02-09 12:03:39 浏览:830
vivo手机微信聊天记录在哪个文件夹 发布:2025-02-09 11:55:24 浏览:839
数控内孔循环编程实例 发布:2025-02-09 11:51:41 浏览:762
工作站玩游戏买什么配置的电脑 发布:2025-02-09 11:49:34 浏览:773
奶块透视脚本群 发布:2025-02-09 11:44:18 浏览:544
敢死连狙击手之无名高地ftp 发布:2025-02-09 11:27:21 浏览:584
lol天使辅助脚本 发布:2025-02-09 11:24:39 浏览:140
溯源码怎么生成 发布:2025-02-09 11:15:15 浏览:443
android70flash 发布:2025-02-09 11:15:06 浏览:726