Android项目,android项目实例
Android多项目打包之路
因为公司开发的APP大多给B端用户使用,不同项目都多多少少会有一些定制化的修改,例如
APP名称、logo、部分页面布局,服务器地址等,所有针对每个项目都需要单独打包。一步步下来也经过了四个阶段:
第一阶段:按项目直接修改
如果项目1需要修改服务器地址和APP名称,那就拉个分支直接修改完打包
如果项目2要修改APP的部分页面和logo,那就再拉个分支修改
问题:
随着项目增多,修改越来越多,分支越来越多,维护难度很大
第二阶段:共用一个分支,包含各个项目的修改
针对资源和部分页面逻辑的定制化,按项目进行不同处理,app的build.gradle部分如下
'''
sourceSets {
'''
问题:
服务器地址、企业标识码等虽然独立于功能之外,还是要单独拉分支修改,项目较多时,重复工作依然较多
第三阶段:抽取企业标识码、服务器地址、相关的key(地图key、推送key)等做成公共变量
这样就可以将所有项目配置信息保存下来,如果有新的项目需要打包,也只需增加配置信息就可以直接打包了
第四阶段:项目配置信息放到公有云服务器,通过企业表示码获取项目配置信息
公有云后台保存各个私有云的配置信息,包括企业标识码、服务器地址、应用名称等
然后APP输入企业标识码后去公有云获取项目的配置信息,然后再在app里设置项目信息,后续逻辑就直接连项目相关的服务器了。
这样就基本能一包通用了,改地址、名称等基本的信息就不用重新打包了
Android 项目配置之 Version Name & Code
Android 开发者一定对下面的这两个属性很熟悉吧:
但直接这样设置有两个不好的地方:
如果你使用 git 作为你的版本控制工具,这篇文章就可以帮助你快捷设置 versionName versionCode。
对于 versionName 我们可以用 git describe 命令。
a. git describe 会从当前 commit 找到最近的一个 tag。
b. 如果这个 tag 就指向当前 commit,那就直接输出 tag。
c. 否则输出之前的 tag + 中间间隔的 commit 数 + 当前的 commit ID。比如:1.0-2-gdc226a
当然,对于开发中的内部版本是没有必要每个都打 tag 的,这时我们可以用时间戳来作为 versionCode。
因此,可以创建一个 script-git-version.gradle 文件:
之后在 build.gradle 中这样用:
这样来设置 versionCode 和 versionName 就可以很方便的分辨出每个版本对应的 commit,也不用每次都手动去改 build.gradle 文件了。
日报延伸阅读 :
- 改进 Android 项目的资源目录
- 正确配置你的 Android 项目
android项目中如何加载已有so库?
android项目中如何加载已有so库方法:
1、在项目根目录下建立文件夹libs/armeabi文件夹。
2、将so库放入libs/armeabi文件夹注意事项:
(1)如果采用静态注册的方式请注意C文件中严格按照命名规则Java_packageName_className_method()的方式命名。
(2)在Android项目中建立同上述命名规则中packageName中相同的包名,在此包名下建立同上述命名规则中className相同的类名。
(3)在className声明native方法。
(4)程序中加载so库System.loadLibrary。(data/data/xxx.xxx.xxx/lib/xx.so)或者System.loadLibrary(xx),例如:System.loadLibrary(data/data/com.dtBank.app.service/lib/libjnixcld.so)。
如何在Mac系统中创建Android应用项目
我们经常会用Mac系统创建IOS应用项目,但是如何在Mac系统中创建Android应用项目呢?下面我给大家分享一下。
工具/材料
Android Studio
首先我们在Mac系统中要安装Android Studio软件,然后点击Start a new Android Studio project选项,如下图所示
接下来进入项目名称设置界面,这里需要给项目起一个名字,如下图所示
然后需要我们选择一下创建的Android应用运用哪个SDK,如下图所示,我建议选择比较稳定的版本
接下来会进入主界面样式选择界面,我们选择空模板样式即可,如下图所示
接着给主界面文件起名字,这里默认是MainActivity,我们不需要设置,默认即可,如下图所示
设置完以上信息以后,我们就可以看到Android Studio就会进入项目创建进度了,如下图所示
接下来创建好项目以后,默认主界面就会显示项目列表,如下图所示
如果想运行项目的话我们点击顶部的运行按钮即可,如下图所示
最后Android Studio就会启动Android手机模拟器来展示我们项目的信息了,如下图所示
机友分享 | 导入机智云Android开源项目的正确姿势
以下文章来源于小雨编程 ,作者小雨tt
“使用机智云AIoT平台支持项目自生成APP源码,即可轻松解决Android开源项目啦,”开发者下载源码后,只需要优化UI和设计设备控制界面控制逻辑,源码的控制页面编写了机智云SDK控制设备的标准流程,APP源码二次开发过程中只需按照该流程进行相关代码的优化即可快速完成针对自身产品的智能控制APP。
因此只要我们将源码工程文件成功导入Android Studio,那么我们便可以自由定制我们的应用程序,那么如何正确导入到Android Studio中,编译成功并在真机上运行呢?
01下载项目
在机智云官网,我们定义好数据点后,在服务-应用开发子菜单中,下载工程文件。
机智云APP代码自动生成服务介绍:
02方法
由于本地环境与开源工程文件中不同,理论上我们把开源工程文件中的环境修改成和我们本地相同的就可以顺利导入了。
为了正确修改开源工程配置文件,我们可以新建一个本地工程文件夹,对照参考。
第一步
修改根目录下的build.gradle文件
将开源工程项目中的build.gradle与本地工程保持一致。
第二步
修改gradle/wrapper文件夹里gradle-wrapper.properties配置文件
将distributionUrl中的gradle版本保持与本地项目一致;
第三步
我们再修改app目录下的build.gradle文件
这时候开源项目与我们的本地项目区别就有点大了,我们只需择其重点进行修改
将机智云版 本的 compileSdkVersion , buildToolsVersion , minSdkVersion , targetSdkVersion 与本地保持一致;这里由于自2018年底开始Android已经抛弃了 compile ,所以这里我们需要将 compile 换成 implementation ,同时将 com.android.support:design , com.android.support:appcompat 换成与本地版本相一致的28.0.0版本
下面是修改之后的版本:
第四步
导入项目再配置
打开AndroidStudio修改 基本的配置参数已经修改的差不多了,这时我们导入项目试一试,打开Android Studio欢迎界面,点击Open an existing Android Studio project;
在工程界面工具栏,点击编译按钮,这时候可能还会 报 一些小错误,比如:
它表示最小开发版本不需要在清单文件中解释,我们只需点击蓝色下划线,跳转到如下界面。
点击方框内容,打开清单文件
删除改行,再Try Again重新同步一下gradle工程。
第五步
修改部分过时的函数
点击小锤子重新编译一下工程,此时仍会报如下错误:
这里报错(找不到符号变量 MAXRIX_SAVE_FLAG ) 这是因为我们的sdk版本较高,新的sdk已经对之前老版本里的方法进行了修改,调用 canvas.save(Canvas.CLIP_SAVE_FLAG) ;方法编译器报错,我们只需要 save() 方法里的参数删除即可,直接调用 canvas.save() 方法就编译通过了。
此时,我们的APP已经可以运行啦!
end..
这篇教程是以使用机智云AIoT平台的源码为例,如何正确的编译项目。其实对于大多数网上的Android开源项目都可以用这种方法来导入。
错过了#秋天的第一杯奶茶,那我们一起来敲代码吧
今日份推荐,安排加购鸭..
中移Cat.1 4G DTU模组ML302-GC211支持OTA免开发快速接入机智云
如何创建一个Android开发项目
工具/材料
电脑
android studio
01
从网上下载并安装Android Studio然后打开它。现在,你准备好开始你的第一个Android应用程序!
首先是这个android项目的项目名,在这里进行输入即可
注意,这里我们使用的android studio的版本为2.2
一直下一步,等待一定的时间,这取决于你机器的配置,android studio最为谷歌官方唯一指定的android项目开发ide,具有超高度的功能集合性,同时后面我们会看到android studio采用和eclipse不同的编译方式,即Gradle编译,以及采用云资源模式(服务器全在海外,部分功能需要翻墙才能使用,醉了),所以,不要对其卡慢抱有不满情绪.
02
选择对应的android sdk版本,android像ios一样,也有很多分类版本了,从低到高,还有像android wear(手表), android TV(电视),android auto(车载)等各种版本,选择你要将这个项目跑到什么设备上边去,以及系统的版本,这里我们选择android手机项目,版本可以选择4.0,目前4.0基本就是最低版本,当然微信,qq,支付宝之类的都是一直支持到2.3版本的
03
这里是android项目的布局文件,目前因为我们这个项目只有一个主窗口,这个布局文件就是属于主窗口的,这里记录的这个窗口中有哪些控件,以及这些控件的位置和排列模式,像TextView就是一个文本控件,而RelativeLayout则是布局控件,用于控制控件的布局。
04
这就是穿着中的gradle编译的编译配置文件了,里面包含了编译中的各种配置选项,对于从eclipse中转过来的人来说,要搞懂这里的各种配置可是要费不少脑子的哈!
05
这是android项目的清单文件,这里包含了这个应用程序的图标设置,以及activity等,activity是android四大组件之一,可以直观理解为我们看到的一个个的窗体,凡是需要显示出来的activity,都需要在这里注册写明
06
这里是窗口的java主类,android的主要编程语言是java语言,当然也有支持c++编程的ndk,以及现在很火的前端脚本编写android项目的方法,这个类表示主窗口,OnCreat()方法会在这个界面被启动的时候执行。
07
点击这里即可运行这个由系统为我们编写好android项目了,没错,这已经是一个完成的android项目,只是比较简单而已,但主要部件都不少。
08
我们启动的应用就是跑在这里的模拟器当中的,我们可以创建自己的模拟器,自由的对模拟器的配置进行自定义,包括模拟器的系统版本
09
完美,我们的第一个应用程序已经跑起来了,虽然只是显示了一个Hello World文本,不过怎们样都算完成了一个android应用程序,后续只要对其进行打包签名,混淆加密后即可发布到应用市场供别人下载使用.