Android Studio 项目模板修改
来源:互联网 发布:java调用 webservice 编辑:程序博客网 时间:2024/05/20 14:41
GOOGLE告诉我说, 后续Eclipse将不再维护了, 所以, 赶紧下了个Android Studio。
刚开始使用, 各种不习惯,这里就不说了,今天讲讲,如何修改项目代码生成模板。
* 需说明, 我使用的是ubuntu下的开发环境。
相关目录:
安装目录/android-studio/plugins/android/lib/templates
drwxrwxr-x 18 anson anson 4096 9月 3 22:42 activities/ 默认Activity生成模版
-rw-r--r-- 1 anson anson 310 6月 3 11:25 build.gradle
drwxrwxr-x 6 anson anson 4096 7月 6 10:51 eclipse/
drwxrwxr-x 4 anson anson 4096 6月 3 13:57 gradle/
drwxrwxr-x 10 anson anson 4096 9月 4 15:30 gradle-projects/ 项目生成模板
-rw-r--r-- 1 anson anson 10695 6月 3 11:25 NOTICE
drwxrwxr-x 28 anson anson 4096 8月 1 09:38 other/
目前我只更改上面两个目录,其它的内容修改起来都相似。
* 修改过程,建议先将原有的模板进行备份, 以免出了问题后改不回来。
/plugins/android/lib/templates/gradle-projects/NewAndroidModule/
1. 不使用com.android.support:appcompat-v7, 不引用appcompat
|-- globals.xml.ftl
<global id="appCompat" type="boolean" value="${(hasDependency('com.android.support:appcompat-v7'))?string}" />
改为:
<global id="appCompat" type="boolean" value="false" />
2. 去掉test 部分的代码
|-- recipe.xml.ftl
删除以下代码
<instantiate from="test/app_package/ApplicationTest.java.ftl" to="${testOut}/ApplicationTest.java" />
以后生成的项目中就不再存在***.****.****(test)这个包和 ApplicationTest.java 了
3. 修改AndroidManifest.xml
|-- root/AndroidManifest.xml.ftl
<application <#if minApiLevel gte 4 && buildApi gte 4>android:allowBackup="true"</#if> android:label="@string/app_name"<#if copyIcons && !isLibraryProject> android:icon="@mipmap/ic_launcher"<#elseif assetName??> android:icon="@drawable/${assetName}"</#if> <#if baseTheme != "none" && !isLibraryProject> android:theme="@style/AppTheme"</#if>>
我想删除theme的声明,所以,删除
<#if baseTheme != "none" && !isLibraryProject> android:theme="@style/AppTheme"</#if>
* 判断语句: <#if ..........> xxx </#if>
接下来,修改Activity生成模板,我采用方法是增加一个模板。
/plugins/android/lib/templates/activities
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 AlwaysOnWearActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 AndroidTVActivity/
drwxrwxr-x 3 anson anson 4096 9月 3 22:58 ASActivity/
drwxrwxr-x 3 anson anson 4096 9月 4 14:43 BlankActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 BlankActivityWithFragment/
drwxrwxr-x 3 anson anson 4096 6月 3 13:57 BlankWearActivity/
drwxrwxr-x 3 anson anson 4096 6月 3 13:57 EmptyActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 FullscreenActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 GoogleAdMobAdsActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 GoogleMapsActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 GooglePlayServicesActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 LoginActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 MasterDetailFlow/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 NavigationDrawerActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 SettingsActivity/
drwxrwxr-x 3 anson anson 4096 8月 1 09:38 TabbedActivity/
每一个文件夹对就一个模板,ASActivity/ 是我的模板, 拷贝自:BlankActivity/
剩下的,就是修改ASActivity/中的内容
4. 修改布局文件:
|--ASActivity/root/res/layout/activity_simple.xml.ftl
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="${relativePackage}.${activityClass}">
删除:
xmlns:tools="http://schemas.android.com/tools" tools:context="${relativePackage}.${activityClass}">
*实在是用不惯这些代码...
其它资源文件类似, 默认都在这几个文件目录下改。
5. 修改Activity的JAVA源码:
|-- ASActivity/root/src/app_package/SimpleActivity.java.ftl
package ${packageName};import ${superClassFqcn};import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;<#if applicationPackage??>import ${applicationPackage}.R;</#if>public class ${activityClass} extends ${superClass} { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.${layoutName}); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.${menuName}, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
该删除的删除, 该增加的增加....
- Android Studio 项目模板修改
- Android Studio修改注释模板
- Android studio 修改项目字体
- android studio 修改项目名称
- Android studio修改项目名
- Android Studio 修改项目名称
- 一劳永逸修改 Android Studio .gitignore 默认模板
- Android Studio修改现有项目SDK版本
- Android Studio修改项目的包名
- android studio修改项目工程包名
- Android studio 修改项目列表的字体大小
- Android studio 修改项目包名
- Android Studio修改项目编译版本
- android studio如何修改项目包名
- Android Studio 修改项目包名
- Android Studio修改项目目录结构
- android studio修改项目包名
- Android studio怎么修改项目名称
- 简约留言板js代码
- 4.0 及以后版本 Boot_COMPLETED广播不响应的问题
- linux内核切换
- 编译时出现stripped of unavailable superclass
- 数据库连接池的简单实现
- Android Studio 项目模板修改
- 基于netty实现的socks5代理协议
- Android 蓝牙状态获取
- 密码强度等级
- Android Wifi和蓝牙操作(一)
- Android Wifi和蓝牙操作(二)
- AlertDialog 背景透明
- android:windowIsTranslucent 导致 Activity切换动画无效
- Java 8的元空间(metaspace)