当前位置:首页 » 安卓系统 » android编译运行

android编译运行

发布时间: 2022-06-08 17:05:36

⑴ android studio怎么编译 运行程序

Eclipse中编译好的apk文件时在bin文件里面的,但是在Android Studio有一个比较大的改动了,编译好的apk在android studio里面是直接看不到了,而且apk文件所在目录也变了,那apk文件放在哪呢,你要在硬盘中找到对应的工程目录:
E:\StudioDemo\MyApplication\app\build\outputs\apk

其中app是你的mole,记得一定要在对应的mole下找对应的编译好的apk文件

⑵ 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编译和运行在手机上使用的系统源码版本各是什么版本

如果app是和android系统一起进行编译,如果想让app的源码保持一套,却能够同时在android4.1和android4.2下进行编译。如果app源码与android系统的版本无关,那么,不存在问题。
但,如果app的实现代码与所依赖的framework的版本强相关,譬如,Location相关的API,在android4.1和android4.2上的差异比较大。应用如果是采用4.2的API来实现的,在配合android4.1系统编译时就会报错。此时,可以采用在Android.mk文件中,根据PLATFORM_SDK_VERSION的值,在编译时决定要编入哪些java文件,源码中同时保留针对android4.1和android4.2的特有实现。
源码目录为:

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

⑸ 如何编译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打开

⑹ 如何优化 Android Studio 启动,编译和运行速度

优化 Android Studio 启动、编译和运行速度?
【阿里云】携手码云为社区用户送福利,全网专享,详情请点击>>> »
作为一名 Android 程序员,选择一个好的 IDE 工具可以使开发变得非常高效,很多程序员喜欢使用 Google 的 Android Studio来进行开发,但使用起来有时会出现卡顿等问题。本文介绍了几种优化 Android Studio 启动、编译、运行速度的方法。
首先解决一个 Android Studio 启动报错的问题
1、进入刚安装的 Android Studio 目录下的bin目录。找到 idea.properties 文件,用文本编辑器打开。
2、在 idea.properties 文件末尾添加一行:disable.android.first.run=true,然后保存文件。
3、关闭 Android Studio 后重新启动,便可进入界面。
优化 Android Studio 启动速度
1、开启 gradle 单独的守护进程
当 Android Studio 遇到错误的时候,往往会导致 Android Studio 挂掉,为了防止推出程序,则另外开启一个线程来守护 Android Studio 的进程,具体操作。 在 C:\Users\.gradle 这个目录下,创建 gradle.properties 配置文件,复制以下配置进行优化。
# Project-wide Gradle settings.
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m
-XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

这些配置文件主要就是增大 gradle 运行的 java 虚拟机的大小,让 gradle 在编译的时候使用独立进程,让 gradle 可以很好的运行。
2、扩大内存
64位:\studio64.exe.vmoptions or studio.exe.vmoptions
32位:\studio.exe.vmoptions or studio.exe.vmoptions
编辑这个文件,在最开始的两行设置内存大小,类似于eclipse.ini中的配置。配置如下:
-Xms256m
-Xmx1024m

⑺ android studio怎么执行编译

安装Android Studio的准备工作 1.下载好JDK 去官网上找一个下载下来 2.安装JDK.并配置环境变量.安装过程可以一直下一步,无脑操作 3.下载Android Studio的安装包 去官网上找一个,下载下来 (jdk的环境变量一定要配置) 准备工作完成之后,就可以开始我们的安装了 1.安装Android studio也是无脑操作,一直点下一步。直到安装结束 2.安装好之后,我们要新建我们的项目。重点从这里开始 点击 New Project会出现.我们设置好名称,也可以无脑操作,一直点击next,直至结束,不过这个过程需要我们耐心的等待。(时间有点漫长)。 然后我们就会进入我们的开发界面。点击图片中红圈的图标(SDK manager)会出现下图 这个步骤是安装Android的sdk,推荐,Android1.6~Android4.4.2全部安装。(这个耗费时间挺长的,请在网速良好且大量闲暇时光下安装,安装过程中可以看部电影) 安装完之后,就开始配置我们的avd(Android Virtual Device),也就是Android的虚拟环境。点击,图片中红圈的图标 点击New(Test是我配置好的) 随便设置AVD name,建议如图设置 设置完成之后,就可以点击下图的三角号编译我们的程序了。

⑻ android studio编译完怎样运行

点击向右的三角形就可以啦。

⑼ 如何编译android sdk

如果没有真正开发板,又想深入到android
framework里,或kernel里的话,就只能用android
的emulator了。
但是我们下载的android
SDK没有源代码,我们没办法跟踪修改framework和kernel里的东西。
所以有了想尝试自己从头生成SDK的想法。
1.
首先下载编译android所有source
code.
具体步骤这里不再赘述,参考ht
tp:/
/source.and
roid.c
om/download
cd
mydroid
repo
init
-u
git://android.git.kernel.org/platform/manifest.git
repo
sync
一点小提示:
有时候google的android服务器老是断,总不能让我们守在电脑旁边一直手工重新repo
sync吧,这可是需要N个小时才能下载完的啊。
我们就写个小脚本让电脑自动repo
sync,直到下载成功为止:
#!/bin/sh
count=0
ret=1
while
[
$ret
-ne
0
]
do
repo
sync
ret=$?
count=$((
$count
+
1))
echo
"try
$count,
ret:
$ret"
done
echo
"try
$count,
ret:
$ret"
把上面的内容复制到一个文件里tryrepo.sh
然后修改tryrepo.sh的属性,开始自动工作吧。第二点早上应该就大功告成了
chmod
a+x
tryrepo.sh
./tryrepo.sh
2.
编译android,
生成SDK
make
sdk
漫长的等待之后,SDK生成了,在目录:mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\
在linux下面可以直接运行mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\tools\android
就可以看到熟悉的android
emulator启动界面。
如果想在windows
XP下使用这个SDK和emulator,
最简单的方法是:
(1)自己下载一个最新的windows版本的android
2.0
SDK。
(2)把mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\下的东西复制到windows版SDK的platforms下。
(3)
然后把platforms下android-2.0下tools目录下的几个.exe文件复制到自己编译的SDK目录下的tools目录下。

⑽ Android系统如何运行动态编译的程序

把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\proct 目录下generic.mk文件:
Java代码 收藏代码
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
testMid \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \
我们添加一个testMid \ 应用名称。
2.把testMid包放入
\packages\apps 目录下,修改android.mk文件。
Java代码 收藏代码
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := testMid
LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)
注:LOCAL_PACKAGE_NAME := testMid (包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\proct\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop
由于 LOCAL_STATIC_JAVA_LIBRARIES := libarity 会引发错误信息。
目前解决方法是:
\build\core 目录下修改base_rules.mk
注释掉错误信息:
ifdef $(mole_id)
#$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
endif
$(mole_id) := $(LOCAL_PATH)
--重新编译,这时可以通过了。
(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同时,在/out/target/proct/m801/system/app 找到相应的.APK包,并删除

热点内容
聊天软件编程 发布:2024-09-17 03:00:07 浏览:725
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197
Z包解压命令 发布:2024-09-17 01:27:51 浏览:221
吉林ipfs存储服务器云主机 发布:2024-09-17 01:27:38 浏览:685