android车载app开发(Android车载应用开发与分析(2) - 集成第三方APK)

2025-12-17 22:00:01 :0

android车载app开发(Android车载应用开发与分析(2) - 集成第三方APK)

“android车载app开发”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看android车载app开发(Android车载应用开发与分析(2) - 集成第三方APK)!

本文目录

Android车载应用开发与分析(2) - 集成第三方APK

在车载的应用开发过程中,会有一类特殊的需求,就是在预装一些第三方app,常见的有百度地图车载版、车载微信等等。这类app OEM 厂商都不会得到源码,只能得到一个apk。

本篇文章基于Android R演示如何在aosp_car_x86_x64中预装第三方apk。aosp_car_x86_x64我们在编译AOSP选择的build_type,如果你还不知道如何编译AOSP可以参考这篇文章 Android车载应用开发与分析(1) - Android Automotive概述与编译 。

各个OEM厂商预装第三方APK的方式其实都有不同,本文只演示相对简单的一种方式。

/system/priv-app
该路径存放一些系统底层的应用,比如Setting,systemUI等。该目录中的app拥有较高的系统权限,而且如果要使用 android:protectionLevel=signatureOrSystem ,那么该app必须放到priv-app目录中去。

/system/app
该目录中存放的系统app权限相对较低,而且当拥有root权限时,就有可能卸载掉这些app。

/vendor/app
该目录存放vendor厂商的app

/oem/app
该目录中存放oem特有的app。

/data/app
用户安装的第三方app。

PMS启动的时候,也是按照上述顺序逐个扫描解析这些目录中的apk的

在 device/generic/car 新建文件夹,如 bilibili 将APK拷贝到 bilibili 文件夹下,创建Android.mk文件,内容如下:

将 bilibili 添加到 device/generic/car/aosp_car_x86_64.mk

重新编译整个工程

入门开发第一个程序

开发第一应用

可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击StartanewAndroidStudioProject创建工程:

接下来需要输入应用名称(第一个字母要大写)、公司域以及指定应用存放目录,点击Next按钮进入下一步:

如果第一个字母不是大写,会提示:Theapplicationnameformostappbeginswithanuppercaseletter

接下来需要选择开发什么设备(可选“手机和平板”、“穿戴(Wear)”、“TV”,“车载(AndroidAuto)”等)上的应用,以及确定最小SDK的版本号。

MinimumSDK的作用是在应用安装前,会对设备的Android版本做校验,如果设备的Android版本低于这个最小版本会阻止用户安装应用。

如果不知道怎么选择最小版本可以点击Helpmechoose看看每个版本的分布图表和描述:

继续点击Next按钮进行下一步,我们需要通过形象友好的GUI模板,来选择我们第一个Activity的样式:

然后需要给Activity和Layout起一个名字。

点击Finish按钮后,AndroidStudio开始创建并编译应用。编译结束后,我们就可以看到AndroidStudio的IDE界面了。

从图上可以看出AndroidStudio已经帮我们将工程组织的很好了。界面介绍

如上图所示,我将界面分为5个区域做详细的讲解:区域1介绍

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML5a24778.PNG

这个区域是运行和调试相关的操作。

1、编译2中显示的模块

2、当前项目的模块列表

3、运行2中显示的模块

4、调试2中显示的模块

5、测试2中显示的模块代码覆盖率

6、调试安卓运行的进程

7、重新运行2中显示的模块

8、停止运行2中显示的模块区域2介绍

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML5a94cd5.PNG

这个区域主要是和Android设备和虚拟机相关的操作。

1、虚拟设备管理。

2、同步工程的Gradle文件,一般在Gradle配置被修改的时候需要同步一下。

3、项目结构,一些项目相关的属性配置。

4、AndroidSDK管理

5、Genymontion模拟器(需要装Genymontion插件,安装篇部分)区域3介绍

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML5bde3b7.PNG

这个区域主要是工程文件资源等相关的操作。

1、展示项目中文件的组织方式,默认是以Android方式展示的,可选择“Project、Packages、Scratches、ProjectFiles、Problems”等展示方式。平时用的最多的就Android和Project两种。

2、定位当前打开文件在工程目录中的位置。

3、关闭工程目录中所有的展开项。

4、额外的一些系统配置,点开后是一个弹出菜单:

image

AutoscrolltoSource和AutoscrollfromSource两个勾选起来后,AndroidStudio会自动定位当前文件在工程中的位置,用起来会很爽。其他功能大家可以自己摸索摸索。区域4介绍

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML5cee482.PNG

这个区域主要是用来编写代码和设计布局。

1、已打开的文件的Tab页。(在Tab页上按下Ctrl键+点击鼠标会出现一个弹出菜单会有惊喜哦!)

2、UI布局预览区域。

3、布局模式切换,对于一些老鸟来说更喜欢通过Text来布局,新手可以试试Design布局,后再切换到Text模式,对于学习Android布局设计很有帮助。区域5介绍

这个区域大部分是用来查看一些输出信息的。

1、终端-喜欢命令行操作的伙伴不用额外启动终端了。

2、监控-可以查看应用的一些输出信息。

3、信息-工程编译的一些输出信息。

4、运行-应用运行后的一些相关信息。

5、TODO-标有TOTO注释的列表。

6、事件-一些事件日志。

7、Gradle控制台,通过这个可以了解Gradle构建应用的时候一些输出信息。AndroidStudio目录结构

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML6038007.PNG

1、Gradle编译系统,版本由wrapper指定

2、AndroidStudioIDE所需要的文件

3、应用相关文件的存放目录

4、编译后产生的相关文件

5、存放相关依赖库

6、代码存放目录

7、资源文件存放目录(包括:布局、图像、样式等等)

8、应用程序的基本信息清单,描述哪些个组件是存在的

9、git版本管理忽略文件,标记出哪些文件不用进入git库中

10、AndroidStudio的工程文件

11、模块的gradle相关配置

12、代码混淆规则配置

13、工程的gradle相关配置

14、gradle相关的全局属性设置

15、本地属性设置(key设置,androidsdk位置等属性)应用开发调试

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML60a7a4d.PNG

如上图1所示在需要调试的行号处点击设置断点,然后点击2所示的Debug按钮(或直接按下Shift+F9快捷键)开始调试。

如上图所示AndroidStudio下方出现了调试视图。

1、当前程序停留的代码行

2、调试相关的一些按钮

3、程序调用栈区,该区域显示了程序执行到断点处所调用过的所有方法,越下面的越早被调用。

4、局部变量观察区

5、用户自定义变量观察区

1、StepOver(F8)-程序向下执行一行,如果当前行有方法调用,这个方法执行完毕返回,然后到下一行。

2、StepInto(F7)-程序向下执行一行,如果当前行有用户自定义方法(非官方类库方法)调用,则进入该方法。

3、ForceStepInto(Alt+Shift+F7)-程序向下执行一行,如果当前行有方法调用,则进入该方法。

4、StepOut(Shift+F8)-如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用StepOut跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

5、DropFrame-点击该按钮后,你将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。

6、RuntoCursor(Alt+F9)-一直运行到光标所在的位置。

7、ResumeProgram(F9)-一直运行程序直到碰到下一个断点。

8、ViewBackpoints(Ctrl+Shift+F8)-查看你设置过的所有断点并可以设置断点的一些属性

9、MuteBackpoints-选中后所有的断点别设置成无效状态。再次点击可以重新设置所有断点有效。

在点击了ViewBackpoints按钮后,会出现一个断点属性窗口,可以对断点进行一些更高级的设置。

说明:C:\Users\wqm\AppData\Local\Temp\SNAGHTML6dbfefa.PNG

1、列出了所有程序中设置的断点

2、可以输入条件,在条件成立后断点才起作用(例如:在输入框中输入i==8),这种带条件断点在实际开发过程中非常有用。也可以通过右键点击断点来设置条件断点,如下图:

好了,到这里调试相关的功能都介绍完了。应用打包签名基础

一个AndroidStudio项目中,会存在多个.gradle文件。其中,project目录下存在一个build.gradle文件和每一个module会存在一个build.gradle文件。

工程中的build.gradlebuildscript{repositories{jcenter()//声明使用maven仓库}dependencies{//依赖android提供的2.1.0-alpha5的gradlebuildclasspath’com.android.tools.build:gradle:2.1.0-alpha5’}}//为所有的工程的repositories配置为jcentersallprojects{repositories{jcenter()}}//清楚工程的任务taskclean(type:Delete){deleterootProject.buildDir}

模块中的build.gradle//这表示该module是一个appmoduleapplyplugin:’com.android.application’android{//基于哪个版本编译compileSdkVersion23//基于哪个构建工具版本进行构建的buildToolsVersion"23.0.3"//缺省配置主要包括:应用ID,最小SDK版本,目标SDK版本,应用版本号、应用版本名defaultConfig{applicationId"open_open.com.helloworld"minSdkVersion10targetSdkVersion23versionCode1versionName"1.0"}//buildTypes是构建类型,常用的有release和debug两种,可以在这里面启用混淆,启用zipAlign以及配置签名信息等。buildTypes{release{minifyEnabledfalseproguardFilesgetDefaultProguardFile(’proguard-android.txt’),’proguard-rules.pro’}}}//dependencies它定义了该module需要依赖的jar,aar,jcenter库信息。dependencies{compilefileTree(dir:’libs’,include:)testCompile’junit:junit:4.12’compile’com.android.support:appcompat-v7:23.2.1’}打包签名

选择Build-》GenerateSignedAPK...,如下图:

在弹窗中一直Next直到下面这个界面:

在没有Key的情况下,我们可以先点击Createnew...按钮来创建一个Key,创建过程很简单,如下图:

如果你已经存在Key了,那就点击Chooseexisting...按钮指定.jks文件位置,如下图:

输入Keystorepassword和Keypassword(在创建Key的时候输入的那两个密码),点击Next按钮:

接下来就点击Finish按钮,坐等AS打包签名完成,签名完成后AS会提示我们:

***隐藏网址***

原文链接:

如何开发android app

从上面下载好软件,并解压
2
打开里面的eclipse文件夹,找到运行文件
3
双击打开,然后启动开发软件页面。开始开发软件了,是不是蛮激动?淡定点,后面慢慢来!
4
点击 File ,进行新建项目,软件是英文,不要紧,认识26个英文字母就行!
5
选择制作安卓应用项目 Andriod Application Project ,然后就点 “next”
6
给你要开发的软件命名,这里就使用HelloApp作为软件名称,你会惊奇的发现下面的都已经自动生成了!好,不用管它,我们接着下面做
7
下一步,也就是点“next”,next,
当然
这些不设置没多大影响,因为我们是进行初学,不用去做那么多外观效果,
8
如果你认为白色的背景效果不好看,你就使用 background color 进行修改吧
9
然后你就可以进入预览模式,继续下一步
最后选择finish,完全生成了你的第一个项目,此时它会自动打开两个文件,不用管它,咱可以进行可视化页面设计
按照图上的路径,打开样式设计页面
双击文件窗口栏,窗口最大化
左边有各种表单,空间,文本框,都可以选择。使用时选中,直接拖到设计页面相应位置就可以了。这里就以一个投票表单为例。建立登录表单页,设计表单,页面。
ok,我们要做的基本界面就是这样。下面就是运行这个我们自己做的“软件”了。更加激动了吧!双击窗口栏回到原来的界面
配置我们需要在电脑运行的虚拟机,当然也可以选择在自己手机运行。这里我们就先在电脑运行好后,在直接把apk软件包移动到手机安装即可
如果在表格AVD里面没有任何记录时,选manage,如果已经有了虚拟机,我们就不用进行manage进行配置
按照图中的框配置下,ram运行内存不要设得配置太高,够用就行,不然电脑会很卡
接下来,我们就通过虚拟进行运行我们的程序吧
可能虚拟机启动有点慢,具体看电脑的性能吧。一般在3到4分钟就可以启动完毕。一般做软件过程中,经常用到这个虚拟机,我们可以提前打开它,然后我们要使用时就会比较快了。

如何建立Android系统app开发环境

1

JDK下载地址

JDK(Java Development Kit)是整个Java的核心,包括一系列Java开发的东西,安装完毕需要配置一下环境变量。

2

JAVA_HOME

JDK的安装路径,这个环境变量本身不存在,需要创建,创建完则可以利用%JAVA_HOME%作为统一引用路径,其值为:jdk在你电脑上的安装路径。

3

PATH

PATH属性已存在,可直接。作用是用于配置路径,简化命令的输入,其值为:%JAVA_HOME%\bin。

4

CLASSPATH

用于编译时JAVA类的路径,注意这里设置的是两个值,(.;)表示的是JVM先搜索当前目录。其值为:.;%JAVA_HOME%\lib\tools.jar。

5

配置完毕后,通过cmd运行以下命令:java -version,javac 如果出现返回信息,则设置成功。

关于本次android车载app开发和Android车载应用开发与分析(2) - 集成第三方APK的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

android车载app开发(Android车载应用开发与分析(2) - 集成第三方APK)

本文编辑:admin

更多文章:


模板制作安装工序施工质量验收评定表(空心梁板要做哪些资料)

模板制作安装工序施工质量验收评定表(空心梁板要做哪些资料)

大家好,关于模板制作安装工序施工质量验收评定表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于空心梁板要做哪些资料的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助

2026年4月15日 01:00

怎么看有没有装jdk(在windows系统下怎么查看有没有安装jdk)

怎么看有没有装jdk(在windows系统下怎么查看有没有安装jdk)

这篇文章给大家聊聊关于怎么看有没有装jdk,以及在windows系统下怎么查看有没有安装jdk对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录在windows系统下怎么查看有没有安装jdk怎么看linux服务器是否装了jdk怎

2025年11月1日 17:15

maven版本定义规则(如何编写一个Maven插件)

maven版本定义规则(如何编写一个Maven插件)

大家好,今天小编来为大家解答以下的问题,关于maven版本定义规则,如何编写一个Maven插件这个很多人还不知道,现在让我们一起来看看吧!本文目录如何编写一个Maven插件maven snapshot和release版本的区别maven中的

2025年11月21日 21:45

websocket浏览器兼容(websocket怎样兼容ie8)

websocket浏览器兼容(websocket怎样兼容ie8)

大家好,websocket浏览器兼容相信很多的网友都不是很明白,包括websocket怎样兼容ie8也是一样,不过没有关系,接下来就来为大家分享关于websocket浏览器兼容和websocket怎样兼容ie8的一些知识点,大家可以关注收藏

2025年5月24日 04:30

makestar(makestar发货快吗)

makestar(makestar发货快吗)

本篇文章给大家谈谈makestar,以及makestar发货快吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录makestar发货快吗ma

2026年9月24日 11:15

excel乘法函数怎么输入(excel表格函数乘法 excel表格里如何乘法函数公式)

excel乘法函数怎么输入(excel表格函数乘法 excel表格里如何乘法函数公式)

各位老铁们,大家好,今天由我来为大家分享excel乘法函数怎么输入,以及excel表格函数乘法 excel表格里如何乘法函数公式的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了

2025年8月8日 11:45

browser插件怎么安装(联想浏览器怎么装插件)

browser插件怎么安装(联想浏览器怎么装插件)

大家好,关于browser插件怎么安装很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于联想浏览器怎么装插件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目

2025年6月8日 14:00

苏州公司网站设计(苏州网站建设流程是什么苏州专业网站策划哪家最好)

苏州公司网站设计(苏州网站建设流程是什么苏州专业网站策划哪家最好)

今天给各位分享苏州网站建设流程是什么苏州专业网站策划哪家最好的知识,其中也会对苏州网站建设流程是什么苏州专业网站策划哪家最好进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录苏州网站建设流程是什么苏州专业网站策划

2025年8月26日 05:15

orderby多个条件(orderby不指定情况)

orderby多个条件(orderby不指定情况)

这篇文章给大家聊聊关于orderby多个条件,以及orderby不指定情况对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录orderby不指定情况Oracle order by case when 多条件排序mysql数据库怎

2026年5月20日 06:00

登录界面html5(QQ登录界面中的动态背景是如何实现的)

登录界面html5(QQ登录界面中的动态背景是如何实现的)

其实登录界面html5的问题并不复杂,但是又很多的朋友都不太了解QQ登录界面中的动态背景是如何实现的,因此呢,今天小编就来为大家分享登录界面html5的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录QQ登录界面中

2026年8月1日 12:30

constructed environment翻译(翻译下面这段文字)

constructed environment翻译(翻译下面这段文字)

各位老铁们,大家好,今天由我来为大家分享constructed environment翻译,以及翻译下面这段文字的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始

2025年9月26日 03:00

lg函数是什么意思(lg是什么函数)

lg函数是什么意思(lg是什么函数)

“lg函数是什么意思”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看lg函数是什么意思(lg是什么函数)!本文目录lg是什么函数lg是什么函数,怎样运算,如何做这种函数请详细解答一下lg是什么意思数学lg是什么意思lg是什么

2026年7月22日 14:30

java字符串截取后两位(JAVA截取所有指定字符后面的字符串)

java字符串截取后两位(JAVA截取所有指定字符后面的字符串)

大家好,关于java字符串截取后两位很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于JAVA截取所有指定字符后面的字符串的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有

2025年12月5日 23:15

ascii码是内码吗(什么是ASCII编码)

ascii码是内码吗(什么是ASCII编码)

各位老铁们好,相信很多人对ascii码是内码吗都不是特别的了解,因此呢,今天就来为大家分享下关于ascii码是内码吗以及什么是ASCII编码的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录什么是ASCII编码在纯

2025年8月25日 03:45

墨迹天气插件(vivo手机的桌面插件在哪里能找到,我安装墨迹天气,设置桌面时钟,都不知道装在哪)

墨迹天气插件(vivo手机的桌面插件在哪里能找到,我安装墨迹天气,设置桌面时钟,都不知道装在哪)

大家好,关于墨迹天气插件很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于vivo手机的桌面插件在哪里能找到,我安装墨迹天气,设置桌面时钟,都不知道装在哪的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题

2026年6月5日 02:15

关系型数据库面试题(IBM经典面试题及答案)

关系型数据库面试题(IBM经典面试题及答案)

今天给各位分享IBM经典面试题及答案的知识,其中也会对IBM经典面试题及答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录IBM经典面试题及答案面试题 数据库中主键和索引的区别以及使用场景IBM经典面试题及答

2026年5月22日 22:00

数据查询软件(免费车辆信息查询软件)

数据查询软件(免费车辆信息查询软件)

大家好,数据查询软件相信很多的网友都不是很明白,包括免费车辆信息查询软件也是一样,不过没有关系,接下来就来为大家分享关于数据查询软件和免费车辆信息查询软件的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录免费车辆信

2026年9月13日 06:30

excludefrom的用法(excluded from boot order什么意思)

excludefrom的用法(excluded from boot order什么意思)

本篇文章给大家谈谈excludefrom的用法,以及excluded from boot order什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏

2026年3月26日 11:45

字符串长度在线(as中的字符串长度!)

字符串长度在线(as中的字符串长度!)

各位老铁们好,相信很多人对字符串长度在线都不是特别的了解,因此呢,今天就来为大家分享下关于字符串长度在线以及as中的字符串长度!的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录as中的字符串长度!MATLAB字符

2025年8月13日 10:45

intellectual enjoyment翻译(英语翻译一下这段话哦)

intellectual enjoyment翻译(英语翻译一下这段话哦)

本篇文章给大家谈谈intellectual enjoyment翻译,以及英语翻译一下这段话哦对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录英语翻译一下这段话哦哪位高人帮忙翻译一下(四)intellectual propert

2026年4月28日 00:15

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索