当前位置:首页 » 安卓系统 » android编译版本

android编译版本

发布时间: 2023-01-19 02:49:39

❶ 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的特有实现。
源码目录为:

❷ 查看apk是android哪个版本编译

如果有一个apk,需要知道他最低安装支持的Android版本是什么,应该如何查看呢?
直接将apk后缀名改为rar或者zip,拉出AndroidManifest.xml?不行,AndroidManifest.xml已经被编译过了,里面很多内容改为二进制了。
其实用Android自带工具即可,进入Android SDK目录。
cd sdk\build-tools\android-4.4.2 这边以4.4.2为例,可以参照自己的platform版本

aapt.exe list -a someapk.apk > apkversion.txt

然后用记事本之类的应用打开apkversion.txt搜索
minSdkVersion,以我这边为例,可以看到这便是0xf,即15
E: uses-sdk (line=8)
A: android:minSdkVersion(0x0101020c)=(type 0x10)0xf

15对应的Android版本可以从这边查阅:
Android版本和API Level对应关系

❸ android 中编译版本,最小版本,目标版本都有什么区别

  • SDK 最低版本

    以最低版本设置值为标准,操作系统会拒绝将应用安装在系统版本低于标准的设备上。

  • SDK 目标版本

    目标版本的设定值告知Android:应用是为哪个API级别设计的。大多数情况下,目标版本即最新发布的Android版本。

  • SDK 编译版本

    SDK最低版本和目标版本会通知给操作系统,而SDK编译版本只是你和编译器之间的私有信息。
    Android的特色功能是通过SDK中的类和方法展现的。在编译代码时, SDK编译版本(即编译目标) 指定具体要使用的系统版本。 Android Studio在寻找类包导入语句中的类和方法时,编译目标确定具体的基准系统版本。

❹ 编译android4.4用哪个版本的gcc

一般来说编译安卓4.4用ggc的4.4.3版本即可,版本过高可能会引起错误。
gcc:它是一套GNU编译器套装以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如linux、BSD、Mac OS X等)采纳为标准的编译器,GCC在微软的Windows下的移植版本叫MinGW。[1]GCC是自由软件过程发展中的着名例子,由自由软件基金会以GPL协议发布

❺ Haxe MacBookPro M1芯片 OpenFL编译Android版本

如何使用OpenFL在MacBookPro M1芯片编译Android版本,M1芯片Mac系统自带的JDK基本都是17版本,编译时会有不兼容的现象。该流程适用于OpenFL9.1.0。

结果参考(JVM是15.0.6版本、Gradle6.3环境编译稳定):

当编译出现这个错误时,一般是指JDK的版本没有对应上,太高、或者太低等。如果按照上面的步骤正常处理,这个问题会直接消失。

无法找到该类型时,一般升级Gradle的编译版本为6.3即可,请参考上方提及到的project.xml配置。

如果使用到queries的标签时,会有编译异常的情况,可以升级到对应补丁的gradle插件,版本对应:3.3.3、3.4.3、3.5.4、3.6.4、4.0.1

❻ Android编译版本eng,user和userdebug的区别

Android编译版本eng、user和userdebug的区别:
一、Android官网的解释
eng This is the default flavor. A plain make is the same as make eng.
* Installs moles tagged with: eng, debug, user, and/or development.
* Installs non-APK moles that have no tags specified.
* Installs APKs according to the proct definition files, in addition to tagged APKs.
* ro.secure=0
* ro.debuggable=1
* ro.kernel.android.checkjni=1
* adb is enabled by default.
* Setupwizard is optional
user make user
This is the flavor intended to be the final release bits.
* Installs moles tagged with user.
* Installs non-APK moles that have no tags specified.
* Installs APKs according to the proct definition files; tags are ignored for APK moles.
* ro.secure=1
* ro.debuggable=0
* adb is disabled by default.
* Enable dex pre-optimization for all TARGET projects in default to speed up device first boot-up
userdebug make userdebug
The same as user, except:
* Also installs moles tagged with debug.
* ro.debuggable=1
* adb is enabled by default.
二、对编译版本MTK的补充说明
MTK 补充说明差异:(
(1) Debug/LOG 方面,原则上user 版本只能抓到有限的资讯,eng 可以抓到更多的资讯,Debug 能力更强,推崇使用eng 版本开发测试
* 因user/eng 版本设置ro.secure不同,导致user 版本adb 只拥有shell 权限,而eng 版本具有root 权限
* MTK System LOG 在ICS 以后,在user 版本默认关闭全部LOG, 在eng 版本中默认打开,以便抓到完整的资讯
* 在eng 版本上,LOG 量 >= user 版本的log 量,一些地方会直接check eng/user 版本来确认是否打印LOG
* user 版本默认关闭uart, eng 版本默认开启uart
* 在eng 版本上,开启ANR 的premp, 会抓取ftrace,可以得到更多ANR的资讯
* 在eng 版本上,可用rtt 抓取backtrace,可开启kdb 进行kernel debug, 可用ftrace 抓取cpu 执行场景
* MTK aee 在ENG 版本抓取更多的异常资讯,比如native exception 会抓取core mp 信息
(2) 性能方面,原则上进行性能测试请使用user 版本测试
* user 版本为提高第一次开机速度,使用了DVM 的预优化,将dex 文件分解成可直接load 运行的odex 文件,ENG 版本不会开启这项优化
* 更少的LOG 打印,uart 的关闭,原则上user 版本的性能要优于eng 版本
(3) 如何确认user/eng 版本
* Java 层,check android.os.Build 类中的TYPE 值
* native 层,property_get("ro.build.type", char* value, "eng"); 然后check value 值
* Debug 时, adb shell getprop ro.build.type 返回值如果是user 即user 版本,eng 即eng 版本
* Log 确认, mobile log/Aplog_xxxxx/versions 中查看ro.build.type 属性
(4) 如何编译user/eng 版本
* 默认编译是eng 版本,如果需要编译user 版本,请加入参数 -o=TARGET_BUILD_VARIANT=user 如:
./mk -o=TARGET_BUILD_VARIANT=user mt6577_phone new
default.prop和/system/build.prop
三、编译版本与ADB、root的控制关系
1. root权限:adb.c中与属性ro.kernel.qemu(是否是模拟器)、ro.secure、ro.debuggable、service.adb.root几个相关联。
service.adb.root : services.c -> restart_root_service()中设置
build/core/main.mk的如下地方决定了了ro.secure和ro.debuggable的值
user_variant := $(filter user userdebug,$(TARGET_BUILD_VARIANT))
enable_target_debugging := true
tags_to_install :=
ifneq (,$(user_variant))
# Target is secure in user builds.
ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
...
else # !user_variant
# Turn on checkjni for non-user builds.
ADDITIONAL_BUILD_PROPERTIES += ro.kernel.android.checkjni=1
# Set device insecure for non-user builds.
ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0
# Allow mock locations by default for non user builds
ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=1
endif # !user_variant
ifeq (true,$(strip $(enable_target_debugging)))
# Target is more debuggable and adbd is on by default
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1
# Include the debugging/testing OTA keys in this build.
INCLUDE_TEST_OTA_KEYS := true
else # !enable_target_debugging
# Target is less debuggable and adbd is off by default
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
endif # !enable_target_debugging
## eng ##
...
endif
2. 是否开启adbd服务:UsbDeviceManager.java中与属性persist.sys.usb.config、sys.usb.config、persist.service.adb.enable几个相关联
persist.sys.usb.config:/build/tools/post_process_props.py中根据ro.debuggable来设置persist.sys.usb.config的初始值
sys.usb.config:UsbDeviceManager.java -> setUsbConfig
文件init.clippers.usb.rc中监听了sys.usb.config属性变化时的动作
on property:sys.usb.config=adb

❼ 如何编译ProA10 Android4.0-V1.5版本

使用gcc4.4.6版本进行编译.

ubuntu 11.10的gcc版本是4.6.1,版本太高,编译Android时出错,要把gcc版本改为4.4.6, 4.5的版本据说可以
通 过gcc -v命令可以发现gcc库在/usr/lib/gcc/i686-linux-gnu目录下,该目录下有当前系统支持的各种版本gcc库 。在安装gcc 4.4前该目录下是没有4.4目录的,安装gcc 4.4后该目录下就会多出4.4这个目录,且该4.4目录下有各种相应库文件。
ubuntu 32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则编译时可能会出错。
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4

装完后在/usr/bin目录下
$ ls -l gcc*
lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
发现gcc 链接到gcc-4.6, 需要将它改为链接到gcc-4.4 :
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
同理
ls -l g++*
lrwxrwxrwx 1 root root 7 2011-08-14 15:17 g++ -> g++-4.6
-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4
-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6
需要将g++链接改为g++-4.4:
/usr/bin$ sudo mv g++ g++.bak
/usr/bin$sudo ln -s g++-4.4 g++

再查看gcc和g++版本号:
gcc -v
g++ -v
均显示gcc version 4.4.6 ,说明gcc 4.4安装成功。
测试:
编译android,从2011-10-29 23:58开始,到2011-10-30 01:42编译完成,没有错误。这验证了gcc 4.4安装正确,也验证了android文件与高版本的gcc不兼容。

❽ Android 10 编译完全root版本

安装RootExplorer查看是否可以挂载系统区即可

无法读写系统分区:

❾ Android Studio中编译aar release版本简便方法

在Android Studio中编译aar时,通常Build之后是Debug版本。
有网友提出添加了Release选项也无济于事:

其实,在控制台中输入gradlew assembleRelease指令即可生成,如下图所示,Mac上,AS的Terminal中生成aar Release包。

❿ 反编译修改Android apk的版本号

准备工作完毕后,开始反编译apk。
1.将你要反编译的apk放到apktoo.bat的同一文件夹下,然后cd到这个目录,执行以下命令:

其中debug.apk为你要反编译的apk的名字,替换一下即可

其中dst.apk为打包后生成的apk。

其中 debug.keystore 为你自己的签名文件, debug 为签名文件的 keyAlias 。
然后输入密码就行, dst_signed.apk 为签名后生成的apk文件

执行完后,出现如下命令即代表成功

热点内容
文件夹嗅探器foldersniffer 发布:2025-05-20 12:33:36 浏览:912
编译装入 发布:2025-05-20 12:32:48 浏览:562
万胜压缩机价格 发布:2025-05-20 12:20:00 浏览:987
判断云服务器是否诚实的存放数据 发布:2025-05-20 12:11:07 浏览:377
c语言基础书 发布:2025-05-20 12:11:00 浏览:780
java小数正则表达式 发布:2025-05-20 11:30:58 浏览:136
文件夹加密win7 发布:2025-05-20 11:27:46 浏览:837
压缩文件设置密码有什么意思 发布:2025-05-20 11:26:37 浏览:551
造梦西游qq登录如何修改密码 发布:2025-05-20 11:18:36 浏览:382
淘宝缓存清理后还是大 发布:2025-05-20 11:15:39 浏览:149