当前位置:首页 » 编程软件 » 安卓运行时编译

安卓运行时编译

发布时间: 2022-12-18 11:15:32

㈠ 如何编译运行android代码

可以先安装eclipse,接着安装SDK和ADT,再新建一个模拟器,开启模拟器,导入你要运行的程序,run就行了。

㈡ android编译问题

bin脚本路面的下面是什么?你连目录都错了,这写代码自然无法找到路径执行- -
你pwd看清楚的目录再写入,试下。代码没错就是目录问题了

㈢ 如何在安卓手机上运行交叉编译的C程序

你可以下载一个叫c4droid的软件在安卓上编译运行c/C++程序

㈣ android编译源码后怎样运行

编译:
1. 初始化:
source build/envsetup.sh
2. 选择target
lunch
然后选择aosp_arm

3.
make -j4

等待大概2个小时,就可以顺利编译完成。

模拟器运行
直接运行emulator,会出现如下错误:

emulator: ERROR: You did not specify a virtual device name, and the system

directory could not be found.

原因是文件路径没有设置,解决办法添加绝对路径:

out/host/linux-x86/bin/emulator -kernel prebuilts/qemu-kernel/arm/kernel-qemu -sysdir out/target/proct/generic/ -system out/target/proct/generic/system.img -ramdisk out/target/proct/generic/ramdisk.img -data out/target/proct/generic/userdata.img -sdcard sdcard.img -scale 0.7 -memory 512 -partition-size 1024

然后运行模拟器

㈤ Android工程编译顺序是怎么样的先编译哪个模块,后编译哪个模块由谁来决定的

在ActivityManifest.xml声明的Activity中,含有
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
是最先执行的,其它类就的顺序在这个主函数中先调用或跳转哪个就是哪个了

㈥ 如何解决android studio运行编译速度慢

开启gradle单独的守护进程:
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在文件中增加:
org.gradle.daemon=true

同时修改项目下的gradle.properties文件也可以优化:
# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true

# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true
同时上面的这些参数也可以配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对所有项目生效。
上面的配置文件主要就是做, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。

㈦ 为什么android源码还需要编译

android源码中有着许多的源代码,其中有c和c++编写的也有java编写,这些代码需要通过重新编译后才能在android机器上运行的!当然你修改源码,改完源码后还是需要对源码进行编译的编译的!android系统源码的整体编译需要很长时间,所以一般否是分开来编译的!这样缩短了编译的等待时间,而且也实现了不同人对不同板块代码的修改和编译的分工了!

㈧ 自己可以编译安卓源码吗

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ㈨ Android源码编译在真机上运行时为什么要同时编译驱动

    模拟器也需要驱动啊,是goldfish,真机没有驱动(针对硬件的),运行不起来的。源码是不带驱动源码的,驱动源码要另外下载,源码里的是已经编译好的kernel。

    ㈩ 如何编译能在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!能够正确的执行了!

    热点内容
    压缩机工作原理图 发布:2025-07-13 18:10:15 浏览:39
    黑暗追求者安卓怎么联机 发布:2025-07-13 18:10:07 浏览:617
    北大保安自学编程 发布:2025-07-13 18:09:58 浏览:858
    java递归排列 发布:2025-07-13 18:02:43 浏览:473
    轻量云服务器如何换成d盘 发布:2025-07-13 17:58:45 浏览:931
    重置腾讯云服务器时间 发布:2025-07-13 17:54:55 浏览:326
    aes256java加密 发布:2025-07-13 17:54:46 浏览:710
    mc开服务器的电脑 发布:2025-07-13 17:46:47 浏览:195
    事件linux 发布:2025-07-13 17:45:51 浏览:143
    mssqlpython 发布:2025-07-13 17:24:34 浏览:469