多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
下面是一个build.gradle的文件例子 ``` apply plugin: 'com.android.application' android { // 指定编译用的SDK版本号。如28表示使用Android 9.0编译 compileSdkVersion 28 // 指定编译工具的版本号。这里的头两位数字必须与compileSdkVersion保持一致,具体的版本号可在sdk安装目录的“sdk\build-tools”下找到 buildToolsVersion "28.0.3" defaultConfig { // 指定该模块的应用编号,即App的包名。该参数为自动生成,无需修改 applicationId "com.example.helloworld" // 指定App适合运行的最小SDK版本号。如16表示至少要在Android 4.1上运行 minSdkVersion 16 // 指定目标设备的SDK版本号。即该App最希望在哪个版本的Android上运行 targetSdkVersion 28 // 指定App的应用版本号 versionCode 1 // 指定App的应用版本名称 versionName "1.0" } buildTypes { release { // 指定是否开启代码混淆功能。true表示开启混淆,false表示无需混淆。 minifyEnabled false // 指定代码混淆规则文件的文件名 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } ``` 清单文件说明 ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloworld"> <!-- application节点指定了该App在手机桌面上显示的图标、名称、风格等信息 --> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <!-- activity节点指定了该App拥有的活动页面信息 --> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ``` AndroidManifest.xml用于指定App内部的运行配置,是一个XML描述文件,根节点为manifest,根节点的pack-age指定了该App的包名。manifest下面又有若干子节点,分别说明如下: * (1)uses-sdk,该节点有两个属性:android:minSdkVersion和android:targetSdkVersion。这两个属性是早期Eclipse开发App时使用的,现在这两个字段改成放到build.gradle文件中,故而Android Studio不配置uses-sdk也没有关系。 * (2)uses-permission,该节点用于声明App运行过程中需要的权限名称。例如,访问网络需要上网权限,拍照需要摄像头权限,定位需要定位权限等。 * (3)application,该节点用于指定App的自身属性,默认的属性说明如下: * `android:allowBackup`,用于指定是否允许备份,开发阶段设置为true,上线时设置为false。 * `android:icon`,用于指定该App在手机屏幕上显示的图标。 * `android:label`,用于指定该App在手机屏幕上显示的名称。 * `android:supportsRtl`,设置为true表示支持阿拉伯语/波斯语这种从右往左的文字排列顺序。 * `android:theme`,用于指定该App的显示风格。 application节点下还有几个子节点,比如活动activity、服务service、广播接收器receiver、内容提供器provider等,这些子节点的详细属性会在后续章节详细说明。