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 如果出现返回信息,则设置成功。

更多文章:
怎么看有没有装jdk(在windows系统下怎么查看有没有安装jdk)
2025年11月1日 17:15
websocket浏览器兼容(websocket怎样兼容ie8)
2025年5月24日 04:30
excel乘法函数怎么输入(excel表格函数乘法 excel表格里如何乘法函数公式)
2025年8月8日 11:45
苏州公司网站设计(苏州网站建设流程是什么苏州专业网站策划哪家最好)
2025年8月26日 05:15
constructed environment翻译(翻译下面这段文字)
2025年9月26日 03:00
java字符串截取后两位(JAVA截取所有指定字符后面的字符串)
2025年12月5日 23:15
墨迹天气插件(vivo手机的桌面插件在哪里能找到,我安装墨迹天气,设置桌面时钟,都不知道装在哪)
2026年6月5日 02:15
excludefrom的用法(excluded from boot order什么意思)
2026年3月26日 11:45
intellectual enjoyment翻译(英语翻译一下这段话哦)
2026年4月28日 00:15














