|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 引言
Eclipse是一款曾经非常流行的集成开发环境(IDE),在Android Studio成为官方IDE之前,它是Android开发的主要工具。虽然现在Google推荐使用Android Studio,但仍有许多开发者习惯使用Eclipse进行Android应用开发。本教程将详细介绍如何使用Eclipse开发Android应用,并最终输出APK文件的完整流程,帮助开发者从零开始掌握这一过程。
2. 环境配置
2.1 安装Java开发工具包(JDK)
Android应用开发基于Java语言,因此首先需要安装JDK。
1. 访问Oracle官方网站(https://www.oracle.com/java/technologies/downloads/)下载适合您操作系统的JDK版本。建议使用JDK7或JDK 8,因为较新的Android开发工具可能不完全支持更高版本的JDK。
2. 运行安装程序,按照提示完成安装。
3. 配置环境变量:新建系统变量JAVA_HOME,值为JDK的安装路径,例如C:\Program Files\Java\jdk1.8.0_291在Path变量中添加%JAVA_HOME%\bin
4. 新建系统变量JAVA_HOME,值为JDK的安装路径,例如C:\Program Files\Java\jdk1.8.0_291
5. 在Path变量中添加%JAVA_HOME%\bin
6. 验证安装:打开命令提示符,输入java -version和javac -version,如果显示版本信息,则表示安装成功。
访问Oracle官方网站(https://www.oracle.com/java/technologies/downloads/)下载适合您操作系统的JDK版本。建议使用JDK7或JDK 8,因为较新的Android开发工具可能不完全支持更高版本的JDK。
运行安装程序,按照提示完成安装。
配置环境变量:
• 新建系统变量JAVA_HOME,值为JDK的安装路径,例如C:\Program Files\Java\jdk1.8.0_291
• 在Path变量中添加%JAVA_HOME%\bin
验证安装:打开命令提示符,输入java -version和javac -version,如果显示版本信息,则表示安装成功。
2.2 下载并安装Eclipse
1. 访问Eclipse官方网站(https://www.eclipse.org/downloads/)下载EclipseIDE for Java Developers。
2. 解压下载的文件到您选择的目录。
3. 运行eclipse.exe启动Eclipse。
访问Eclipse官方网站(https://www.eclipse.org/downloads/)下载EclipseIDE for Java Developers。
解压下载的文件到您选择的目录。
运行eclipse.exe启动Eclipse。
2.3 安装Android Development Tools (ADT)插件
ADT插件是Eclipse中用于Android开发的必备工具。
1. 启动Eclipse,选择”Help” > “Install New Software”。
2. 点击”Add”按钮,在弹出的对话框中输入:Name: ADT PluginLocation:https://dl-ssl.google.com/android/eclipse/
3. Name: ADT Plugin
4. Location:https://dl-ssl.google.com/android/eclipse/
5. 点击”OK”,Eclipse将搜索可用的插件。
6. 在列表中选择”Developer Tools”,然后点击”Next”。
7. 阅读并接受许可协议,然后点击”Finish”开始安装。
8. 安装完成后,重启Eclipse。
启动Eclipse,选择”Help” > “Install New Software”。
点击”Add”按钮,在弹出的对话框中输入:
• Name: ADT Plugin
• Location:https://dl-ssl.google.com/android/eclipse/
点击”OK”,Eclipse将搜索可用的插件。
在列表中选择”Developer Tools”,然后点击”Next”。
阅读并接受许可协议,然后点击”Finish”开始安装。
安装完成后,重启Eclipse。
2.4 下载并配置Android SDK
1. 访问Android开发者网站(https://developer.android.com/studio/index.html#downloads)下载AndroidSDK Tools。
2. 解压下载的文件到您选择的目录,例如C:\android-sdk。
3. 在Eclipse中,选择”Window” > “Preferences” > “Android”。
4. 在”SDK Location”字段中,输入Android SDK的安装路径,然后点击”Apply”。
5. 打开Android SDK Manager:通过Eclipse:选择”Window” > “Android SDK Manager”或直接运行SDK目录下的SDK Manager.exe
6. 通过Eclipse:选择”Window” > “Android SDK Manager”
7. 或直接运行SDK目录下的SDK Manager.exe
8. 在SDK Manager中,选择您需要的Android版本和工具,然后点击”Install packages”按钮。建议至少安装最新的Android平台版本和Android SDK Platform-tools。
访问Android开发者网站(https://developer.android.com/studio/index.html#downloads)下载AndroidSDK Tools。
解压下载的文件到您选择的目录,例如C:\android-sdk。
在Eclipse中,选择”Window” > “Preferences” > “Android”。
在”SDK Location”字段中,输入Android SDK的安装路径,然后点击”Apply”。
打开Android SDK Manager:
• 通过Eclipse:选择”Window” > “Android SDK Manager”
• 或直接运行SDK目录下的SDK Manager.exe
在SDK Manager中,选择您需要的Android版本和工具,然后点击”Install packages”按钮。建议至少安装最新的Android平台版本和Android SDK Platform-tools。
2.5 配置AVD(Android Virtual Device)
AVD是Android模拟器,用于在计算机上运行和测试Android应用。
1. 在Eclipse中,选择”Window” > “Android Virtual Device Manager”。
2. 点击”New”按钮创建新的AVD。
3. 填写AVD配置:Name: 为您的AVD命名,例如”MyAndroidAVD”Device: 选择一个设备型号,例如”Nexus 5”Target: 选择一个Android版本作为目标平台CPU/ABI: 选择处理器类型,例如”ARM EABI v7a”Skin: 选择屏幕尺寸或使用默认RAM: 调整内存大小,建议至少1024MBInternal Storage: 设置内部存储空间SD Card: 设置SD卡大小
4. Name: 为您的AVD命名,例如”MyAndroidAVD”
5. Device: 选择一个设备型号,例如”Nexus 5”
6. Target: 选择一个Android版本作为目标平台
7. CPU/ABI: 选择处理器类型,例如”ARM EABI v7a”
8. Skin: 选择屏幕尺寸或使用默认
9. RAM: 调整内存大小,建议至少1024MB
10. Internal Storage: 设置内部存储空间
11. SD Card: 设置SD卡大小
12. 点击”OK”创建AVD。
13. 选择创建的AVD,点击”Start”启动模拟器。
在Eclipse中,选择”Window” > “Android Virtual Device Manager”。
点击”New”按钮创建新的AVD。
填写AVD配置:
• Name: 为您的AVD命名,例如”MyAndroidAVD”
• Device: 选择一个设备型号,例如”Nexus 5”
• Target: 选择一个Android版本作为目标平台
• CPU/ABI: 选择处理器类型,例如”ARM EABI v7a”
• Skin: 选择屏幕尺寸或使用默认
• RAM: 调整内存大小,建议至少1024MB
• Internal Storage: 设置内部存储空间
• SD Card: 设置SD卡大小
点击”OK”创建AVD。
选择创建的AVD,点击”Start”启动模拟器。
3. 创建Android项目
3.1 新建Android项目
1. 在Eclipse中,选择”File” > “New” > “Android Application Project”。
2. 填写项目信息:Application Name: 应用名称,例如”MyFirstApp”Project Name: 项目名称,通常与应用名称相同Package Name: 包名,采用反向域名格式,例如”com.example.myfirstapp”Build SDK: 选择编译应用所使用的SDK版本Minimum Required SDK: 选择应用支持的最低Android版本
3. Application Name: 应用名称,例如”MyFirstApp”
4. Project Name: 项目名称,通常与应用名称相同
5. Package Name: 包名,采用反向域名格式,例如”com.example.myfirstapp”
6. Build SDK: 选择编译应用所使用的SDK版本
7. Minimum Required SDK: 选择应用支持的最低Android版本
8. 点击”Next”,配置项目设置:Create custom launcher icon: 是否创建自定义启动图标Create activity: 是否创建活动Mark this project as a library: 是否将项目标记为库项目Create Project in Workspace: 在工作空间中创建项目
9. Create custom launcher icon: 是否创建自定义启动图标
10. Create activity: 是否创建活动
11. Mark this project as a library: 是否将项目标记为库项目
12. Create Project in Workspace: 在工作空间中创建项目
13. 点击”Next”,配置启动图标(如果选择了创建自定义启动图标)。
14. 点击”Next”,选择活动类型,通常选择”Blank Activity”。
15. 点击”Next”,配置活动详情:Activity Name: 活动名称,例如”MainActivity”Layout Name: 布局文件名,例如”activity_main”Navigation Type: 导航类型,通常选择”None”Title: 活动标题
16. Activity Name: 活动名称,例如”MainActivity”
17. Layout Name: 布局文件名,例如”activity_main”
18. Navigation Type: 导航类型,通常选择”None”
19. Title: 活动标题
20. 点击”Finish”创建项目。
在Eclipse中,选择”File” > “New” > “Android Application Project”。
填写项目信息:
• Application Name: 应用名称,例如”MyFirstApp”
• Project Name: 项目名称,通常与应用名称相同
• Package Name: 包名,采用反向域名格式,例如”com.example.myfirstapp”
• Build SDK: 选择编译应用所使用的SDK版本
• Minimum Required SDK: 选择应用支持的最低Android版本
点击”Next”,配置项目设置:
• Create custom launcher icon: 是否创建自定义启动图标
• Create activity: 是否创建活动
• Mark this project as a library: 是否将项目标记为库项目
• Create Project in Workspace: 在工作空间中创建项目
点击”Next”,配置启动图标(如果选择了创建自定义启动图标)。
点击”Next”,选择活动类型,通常选择”Blank Activity”。
点击”Next”,配置活动详情:
• Activity Name: 活动名称,例如”MainActivity”
• Layout Name: 布局文件名,例如”activity_main”
• Navigation Type: 导航类型,通常选择”None”
• Title: 活动标题
点击”Finish”创建项目。
3.2 项目结构说明
创建完成后,项目结构如下:
• src/: 存放Java源代码com.example.myfirstapp/: 包名对应的目录MainActivity.java: 主活动文件
• com.example.myfirstapp/: 包名对应的目录MainActivity.java: 主活动文件
• MainActivity.java: 主活动文件
• gen/: 自动生成的文件com.example.myfirstapp/: 包名对应的目录R.java: 资源索引文件
• com.example.myfirstapp/: 包名对应的目录R.java: 资源索引文件
• R.java: 资源索引文件
• assets/: 存放原始资源文件
• bin/: 编译后的文件,包括APK文件
• libs/: 存放第三方库文件
• res/: 存放资源文件drawable/: 存放图片资源layout/: 存放布局文件activity_main.xml: 主布局文件menu/: 存放菜单文件values/: 存放值资源strings.xml: 字符串资源styles.xml: 样式资源dimens.xml: 尺寸资源
• drawable/: 存放图片资源
• layout/: 存放布局文件activity_main.xml: 主布局文件
• activity_main.xml: 主布局文件
• menu/: 存放菜单文件
• values/: 存放值资源strings.xml: 字符串资源styles.xml: 样式资源dimens.xml: 尺寸资源
• strings.xml: 字符串资源
• styles.xml: 样式资源
• dimens.xml: 尺寸资源
• AndroidManifest.xml: 应用清单文件,描述应用的基本信息和组件
• project.properties: 项目属性文件
src/: 存放Java源代码
• com.example.myfirstapp/: 包名对应的目录MainActivity.java: 主活动文件
• MainActivity.java: 主活动文件
• MainActivity.java: 主活动文件
gen/: 自动生成的文件
• com.example.myfirstapp/: 包名对应的目录R.java: 资源索引文件
• R.java: 资源索引文件
• R.java: 资源索引文件
assets/: 存放原始资源文件
bin/: 编译后的文件,包括APK文件
libs/: 存放第三方库文件
res/: 存放资源文件
• drawable/: 存放图片资源
• layout/: 存放布局文件activity_main.xml: 主布局文件
• activity_main.xml: 主布局文件
• menu/: 存放菜单文件
• values/: 存放值资源strings.xml: 字符串资源styles.xml: 样式资源dimens.xml: 尺寸资源
• strings.xml: 字符串资源
• styles.xml: 样式资源
• dimens.xml: 尺寸资源
• activity_main.xml: 主布局文件
• strings.xml: 字符串资源
• styles.xml: 样式资源
• dimens.xml: 尺寸资源
AndroidManifest.xml: 应用清单文件,描述应用的基本信息和组件
project.properties: 项目属性文件
4. 应用开发
4.1 设计用户界面
1. 打开res/layout/activity_main.xml文件。
2. 使用图形布局编辑器或直接编辑XML代码来设计界面。
打开res/layout/activity_main.xml文件。
使用图形布局编辑器或直接编辑XML代码来设计界面。
例如,创建一个简单的登录界面:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="16dp">
- <TextView
- android:id="@+id/tvTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="用户登录"
- android:textSize="24sp"
- android:layout_gravity="center_horizontal"
- android:layout_marginBottom="24dp" />
- <EditText
- android:id="@+id/etUsername"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="用户名"
- android:inputType="text" />
- <EditText
- android:id="@+id/etPassword"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="密码"
- android:inputType="textPassword"
- android:layout_marginTop="8dp" />
- <Button
- android:id="@+id/btnLogin"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="登录"
- android:layout_marginTop="16dp" />
- <TextView
- android:id="@+id/tvResult"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:layout_marginTop="16dp" />
- </LinearLayout>
复制代码
1. 打开res/values/strings.xml文件。
2. 添加字符串资源:
打开res/values/strings.xml文件。
添加字符串资源:
- <resources>
- <string name="app_name">MyFirstApp</string>
- <string name="hello_world">Hello world!</string>
- <string name="action_settings">Settings</string>
- <string name="title_activity_main">MainActivity</string>
- <string name="username">用户名</string>
- <string name="password">密码</string>
- <string name="login">登录</string>
- </resources>
复制代码
1. 修改布局文件,使用字符串资源:
- <TextView
- android:id="@+id/tvTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/title_activity_main"
- android:textSize="24sp"
- android:layout_gravity="center_horizontal"
- android:layout_marginBottom="24dp" />
- <EditText
- android:id="@+id/etUsername"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/username"
- android:inputType="text" />
- <EditText
- android:id="@+id/etPassword"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/password"
- android:inputType="textPassword"
- android:layout_marginTop="8dp" />
- <Button
- android:id="@+id/btnLogin"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/login"
- android:layout_marginTop="16dp" />
复制代码
4.2 编写Java代码
1. 打开src/com.example.myfirstapp/MainActivity.java文件。
2. 编写代码实现登录功能:
打开src/com.example.myfirstapp/MainActivity.java文件。
编写代码实现登录功能:
- package com.example.myfirstapp;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- private EditText etUsername;
- private EditText etPassword;
- private Button btnLogin;
- private TextView tvResult;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- // 初始化控件
- initViews();
-
- // 设置按钮点击事件
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- login();
- }
- });
- }
-
- private void initViews() {
- etUsername = (EditText) findViewById(R.id.etUsername);
- etPassword = (EditText) findViewById(R.id.etPassword);
- btnLogin = (Button) findViewById(R.id.btnLogin);
- tvResult = (TextView) findViewById(R.id.tvResult);
- }
-
- private void login() {
- String username = etUsername.getText().toString().trim();
- String password = etPassword.getText().toString().trim();
-
- if (username.isEmpty() || password.isEmpty()) {
- Toast.makeText(this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show();
- return;
- }
-
- // 这里只是简单的演示,实际应用中应该进行网络请求验证用户名和密码
- if ("admin".equals(username) && "123456".equals(password)) {
- tvResult.setText("登录成功");
- Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
- } else {
- tvResult.setText("用户名或密码错误");
- Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
- }
- }
- }
复制代码
4.3 添加更多功能
1. 在src/com.example.myfirstapp/包上右键,选择”New” > “Class”。
2. 输入类名,例如”WelcomeActivity”,并设置父类为”android.app.Activity”。
3. 创建对应的布局文件res/layout/activity_welcome.xml:
在src/com.example.myfirstapp/包上右键,选择”New” > “Class”。
输入类名,例如”WelcomeActivity”,并设置父类为”android.app.Activity”。
创建对应的布局文件res/layout/activity_welcome.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:gravity="center">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="欢迎页面"
- android:textSize="24sp" />
- <Button
- android:id="@+id/btnLogout"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="退出登录"
- android:layout_marginTop="16dp" />
- </LinearLayout>
复制代码
1. 编写WelcomeActivity.java代码:
- package com.example.myfirstapp;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- public class WelcomeActivity extends Activity {
- private Button btnLogout;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_welcome);
-
- btnLogout = (Button) findViewById(R.id.btnLogout);
-
- btnLogout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // 返回到登录页面
- Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
- startActivity(intent);
- finish(); // 结束当前活动
- }
- });
- }
- }
复制代码
1. 在AndroidManifest.xml中注册新活动:
- <activity
- android:name=".WelcomeActivity"
- android:label="@string/title_activity_welcome" >
- </activity>
复制代码
1. 修改MainActivity.java中的登录成功部分,添加跳转到欢迎页面的代码:
- if ("admin".equals(username) && "123456".equals(password)) {
- tvResult.setText("登录成功");
- Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
-
- // 跳转到欢迎页面
- Intent intent = new Intent(MainActivity.this, WelcomeActivity.class);
- startActivity(intent);
- finish(); // 结束当前活动
- } else {
- tvResult.setText("用户名或密码错误");
- Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
- }
复制代码
1. 在res/menu/目录下创建main.xml文件:
- <menu xmlns:android="http://schemas.android.com/apk/res/android" >
- <item
- android:id="@+id/action_settings"
- android:orderInCategory="100"
- android:showAsAction="never"
- android:title="@string/action_settings"/>
-
- <item
- android:id="@+id/action_about"
- android:orderInCategory="101"
- android:showAsAction="never"
- android:title="关于"/>
- </menu>
复制代码
1. 在MainActivity.java中添加菜单相关代码:
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- int id = item.getItemId();
- if (id == R.id.action_settings) {
- Toast.makeText(this, "设置功能", Toast.LENGTH_SHORT).show();
- return true;
- } else if (id == R.id.action_about) {
- Toast.makeText(this, "关于本应用", Toast.LENGTH_SHORT).show();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
复制代码
5. 调试应用
5.1 在模拟器上运行应用
1. 确保已经创建了AVD(Android Virtual Device)。
2. 在Eclipse中,选择要运行的项目。
3. 点击工具栏上的”Run”按钮(绿色播放图标)或右键点击项目,选择”Run As” > “Android Application”。
4. Eclipse将自动启动模拟器(如果尚未运行)并安装应用。
5. 等待应用启动并测试功能。
确保已经创建了AVD(Android Virtual Device)。
在Eclipse中,选择要运行的项目。
点击工具栏上的”Run”按钮(绿色播放图标)或右键点击项目,选择”Run As” > “Android Application”。
Eclipse将自动启动模拟器(如果尚未运行)并安装应用。
等待应用启动并测试功能。
5.2 在真机上运行应用
1. 启用开发者选项:在Android设备上,进入”设置” > “关于手机”。连续点击”版本号”7次,直到看到”您已处于开发者模式”的提示。
2. 在Android设备上,进入”设置” > “关于手机”。
3. 连续点击”版本号”7次,直到看到”您已处于开发者模式”的提示。
4. 启用USB调试:返回到”设置”主界面。进入”开发者选项”。启用”USB调试”选项。
5. 返回到”设置”主界面。
6. 进入”开发者选项”。
7. 启用”USB调试”选项。
8. 连接设备:使用USB线将Android设备连接到计算机。在设备上弹出的对话框中,允许USB调试。
9. 使用USB线将Android设备连接到计算机。
10. 在设备上弹出的对话框中,允许USB调试。
11. 在Eclipse中,选择要运行的项目。
12. 点击工具栏上的”Run”按钮或右键点击项目,选择”Run As” > “Android Application”。
13. Eclipse将检测到连接的设备并安装应用。
14. 等待应用启动并测试功能。
启用开发者选项:
• 在Android设备上,进入”设置” > “关于手机”。
• 连续点击”版本号”7次,直到看到”您已处于开发者模式”的提示。
启用USB调试:
• 返回到”设置”主界面。
• 进入”开发者选项”。
• 启用”USB调试”选项。
连接设备:
• 使用USB线将Android设备连接到计算机。
• 在设备上弹出的对话框中,允许USB调试。
在Eclipse中,选择要运行的项目。
点击工具栏上的”Run”按钮或右键点击项目,选择”Run As” > “Android Application”。
Eclipse将检测到连接的设备并安装应用。
等待应用启动并测试功能。
5.3 使用LogCat查看日志
LogCat是Android开发中用于查看系统日志和应用程序日志的工具。
1. 在Eclipse中,打开”LogCat”视图:选择”Window” > “Show View” > “Other”。在对话框中,展开”Android”并选择”LogCat”。
2. 选择”Window” > “Show View” > “Other”。
3. 在对话框中,展开”Android”并选择”LogCat”。
4. 在LogCat中,可以:使用过滤器查看特定应用的日志。根据日志级别(Verbose、Debug、Info、Warn、Error)过滤日志。搜索特定文本。
5. 使用过滤器查看特定应用的日志。
6. 根据日志级别(Verbose、Debug、Info、Warn、Error)过滤日志。
7. 搜索特定文本。
8. 在代码中添加日志输出:
在Eclipse中,打开”LogCat”视图:
• 选择”Window” > “Show View” > “Other”。
• 在对话框中,展开”Android”并选择”LogCat”。
在LogCat中,可以:
• 使用过滤器查看特定应用的日志。
• 根据日志级别(Verbose、Debug、Info、Warn、Error)过滤日志。
• 搜索特定文本。
在代码中添加日志输出:
- import android.util.Log;
- // 在类中定义标签
- private static final String TAG = "MainActivity";
- // 在方法中输出日志
- Log.d(TAG, "onCreate方法被调用");
- Log.i(TAG, "这是一条信息日志");
- Log.w(TAG, "这是一条警告日志");
- Log.e(TAG, "这是一条错误日志");
复制代码
5.4 使用断点调试
1. 在代码行号左侧双击,设置断点。
2. 右键点击项目,选择”Debug As” > “Android Application”。
3. 当应用执行到断点时,Eclipse将切换到Debug透视图,并暂停执行。
4. 在Debug视图中,可以:查看变量值。单步执行代码(Step Into、Step Over、Step Return)。继续执行(Resume)。停止调试(Terminate)。
5. 查看变量值。
6. 单步执行代码(Step Into、Step Over、Step Return)。
7. 继续执行(Resume)。
8. 停止调试(Terminate)。
在代码行号左侧双击,设置断点。
右键点击项目,选择”Debug As” > “Android Application”。
当应用执行到断点时,Eclipse将切换到Debug透视图,并暂停执行。
在Debug视图中,可以:
• 查看变量值。
• 单步执行代码(Step Into、Step Over、Step Return)。
• 继续执行(Resume)。
• 停止调试(Terminate)。
6. 打包APK
6.1 生成未签名APK
1. 在Eclipse中,右键点击项目,选择”Export”。
2. 在导出对话框中,展开”Android”文件夹,选择”Export Android Application”,然后点击”Next”。
3. 选择要导出的项目,然后点击”Next”。
4. 选择”Create new keystore”(创建新的密钥库)或”Use existing keystore”(使用现有密钥库)。
在Eclipse中,右键点击项目,选择”Export”。
在导出对话框中,展开”Android”文件夹,选择”Export Android Application”,然后点击”Next”。
选择要导出的项目,然后点击”Next”。
选择”Create new keystore”(创建新的密钥库)或”Use existing keystore”(使用现有密钥库)。
如果是第一次发布应用,选择”Create new keystore”。
1. 填写密钥库信息:Location: 密钥库的保存位置Password: 密钥库密码Confirm: 确认密码
2. Location: 密钥库的保存位置
3. Password: 密钥库密码
4. Confirm: 确认密码
5. 点击”Next”,填写密钥信息:Alias: 密钥别名Password: 密钥密码Confirm: 确认密码Validity (years): 有效期(年),建议至少25年Certificate: 证书信息,包括至少以下一项:First and Last Name: 姓名和姓氏Organizational Unit: 组织单位Organization: 组织City or Locality: 城市或地区State or Province: 州或省Country Code (XX): 国家代码
6. Alias: 密钥别名
7. Password: 密钥密码
8. Confirm: 确认密码
9. Validity (years): 有效期(年),建议至少25年
10. Certificate: 证书信息,包括至少以下一项:First and Last Name: 姓名和姓氏Organizational Unit: 组织单位Organization: 组织City or Locality: 城市或地区State or Province: 州或省Country Code (XX): 国家代码
11. First and Last Name: 姓名和姓氏
12. Organizational Unit: 组织单位
13. Organization: 组织
14. City or Locality: 城市或地区
15. State or Province: 州或省
16. Country Code (XX): 国家代码
17. 点击”Next”,选择APK的保存位置和文件名。
18. 点击”Finish”开始生成APK。
填写密钥库信息:
• Location: 密钥库的保存位置
• Password: 密钥库密码
• Confirm: 确认密码
点击”Next”,填写密钥信息:
• Alias: 密钥别名
• Password: 密钥密码
• Confirm: 确认密码
• Validity (years): 有效期(年),建议至少25年
• Certificate: 证书信息,包括至少以下一项:First and Last Name: 姓名和姓氏Organizational Unit: 组织单位Organization: 组织City or Locality: 城市或地区State or Province: 州或省Country Code (XX): 国家代码
• First and Last Name: 姓名和姓氏
• Organizational Unit: 组织单位
• Organization: 组织
• City or Locality: 城市或地区
• State or Province: 州或省
• Country Code (XX): 国家代码
• First and Last Name: 姓名和姓氏
• Organizational Unit: 组织单位
• Organization: 组织
• City or Locality: 城市或地区
• State or Province: 州或省
• Country Code (XX): 国家代码
点击”Next”,选择APK的保存位置和文件名。
点击”Finish”开始生成APK。
6.2 生成已签名APK
如果已经有密钥库,可以按照以下步骤生成已签名的APK:
1. 在Eclipse中,右键点击项目,选择”Export”。
2. 在导出对话框中,展开”Android”文件夹,选择”Export Android Application”,然后点击”Next”。
3. 选择要导出的项目,然后点击”Next”。
4. 选择”Use existing keystore”(使用现有密钥库)。
5. 填写密钥库信息:Location: 密钥库的位置Password: 密钥库密码
6. Location: 密钥库的位置
7. Password: 密钥库密码
8. 点击”Next”,选择密钥别名并输入密钥密码。
9. 点击”Next”,选择APK的保存位置和文件名。
10. 点击”Finish”开始生成已签名的APK。
在Eclipse中,右键点击项目,选择”Export”。
在导出对话框中,展开”Android”文件夹,选择”Export Android Application”,然后点击”Next”。
选择要导出的项目,然后点击”Next”。
选择”Use existing keystore”(使用现有密钥库)。
填写密钥库信息:
• Location: 密钥库的位置
• Password: 密钥库密码
点击”Next”,选择密钥别名并输入密钥密码。
点击”Next”,选择APK的保存位置和文件名。
点击”Finish”开始生成已签名的APK。
7. 签名APK
7.1 使用Jarsigner签名APK
如果已经生成了未签名的APK,可以使用Jarsigner工具进行签名:
1. 打开命令提示符,导航到JDK的bin目录,例如C:\Program Files\Java\jdk1.8.0_291\bin。
2. 使用以下命令签名APK:
打开命令提示符,导航到JDK的bin目录,例如C:\Program Files\Java\jdk1.8.0_291\bin。
使用以下命令签名APK:
- jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore "C:\path\to\your\keystore" "C:\path\to\your\unsigned.apk" alias_name
复制代码
其中:
• -keystore: 指定密钥库的路径
• unsigned.apk: 未签名APK的路径
• alias_name: 密钥别名
1. 输入密钥库密码和密钥密码。
2. 签名完成后,可以使用以下命令验证签名:
输入密钥库密码和密钥密码。
签名完成后,可以使用以下命令验证签名:
- jarsigner -verify -verbose -certs "C:\path\to\your\signed.apk"
复制代码
7.2 使用Zipalign优化APK
Zipalign是Android提供的一个工具,用于优化APK文件,使其在运行时占用更少的内存:
1. 打开命令提示符,导航到Android SDK的build-tools目录,例如C:\android-sdk\build-tools\23.0.1。
2. 使用以下命令优化APK:
打开命令提示符,导航到Android SDK的build-tools目录,例如C:\android-sdk\build-tools\23.0.1。
使用以下命令优化APK:
- zipalign -v 4 "C:\path\to\your\signed.apk" "C:\path\to\your\aligned.apk"
复制代码
其中:
• -v: 显示详细输出
• 4: 指定对齐边界
• signed.apk: 已签名APK的路径
• aligned.apk: 优化后APK的保存路径
1. 优化完成后,可以使用以下命令验证优化结果:
- zipalign -c -v 4 "C:\path\to\your\aligned.apk"
复制代码
8. 发布应用
8.1 准备发布材料
在发布应用之前,需要准备以下材料:
1. 应用图标:需要提供多种尺寸的图标,以适应不同设备和场景通常包括:32x32、48x48、72x72、96x96、144x144、192x192像素
2. 需要提供多种尺寸的图标,以适应不同设备和场景
3. 通常包括:32x32、48x48、72x72、96x96、144x144、192x192像素
4. 应用截图:至少需要2张截图,最多8张截图应展示应用的主要功能和界面截图尺寸:最小320px,最大3840px
5. 至少需要2张截图,最多8张
6. 截图应展示应用的主要功能和界面
7. 截图尺寸:最小320px,最大3840px
8. 宣传图:1024x500像素的图片,用于在Google Play中展示
9. 1024x500像素的图片,用于在Google Play中展示
10. 应用描述:简短描述:最多80个字符详细描述:最多4000个字符
11. 简短描述:最多80个字符
12. 详细描述:最多4000个字符
13. 隐私政策:如果应用收集用户数据,需要提供隐私政策链接
14. 如果应用收集用户数据,需要提供隐私政策链接
15. 联系信息:开发者网站电子邮件地址电话号码(可选)
16. 开发者网站
17. 电子邮件地址
18. 电话号码(可选)
应用图标:
• 需要提供多种尺寸的图标,以适应不同设备和场景
• 通常包括:32x32、48x48、72x72、96x96、144x144、192x192像素
应用截图:
• 至少需要2张截图,最多8张
• 截图应展示应用的主要功能和界面
• 截图尺寸:最小320px,最大3840px
宣传图:
• 1024x500像素的图片,用于在Google Play中展示
应用描述:
• 简短描述:最多80个字符
• 详细描述:最多4000个字符
隐私政策:
• 如果应用收集用户数据,需要提供隐私政策链接
联系信息:
• 开发者网站
• 电子邮件地址
• 电话号码(可选)
8.2 上传到Google Play
1. 访问Google Play Console(https://play.google.com/apps/publish/)。
2. 使用Google开发者账户登录。
3. 点击”创建应用”按钮。
4. 填写应用基本信息:默认语言应用标题简短描述详细描述
5. 默认语言
6. 应用标题
7. 简短描述
8. 详细描述
9. 上传应用资源:应用图标宣传图应用截图
10. 应用图标
11. 宣传图
12. 应用截图
13. 上传APK文件:进入”发布管理” > “应用版本”点击”创建新版本”上传已签名并优化过的APK文件填写版本号和版本说明设置内容分级设置应用定价和分发范围
14. 进入”发布管理” > “应用版本”
15. 点击”创建新版本”
16. 上传已签名并优化过的APK文件
17. 填写版本号和版本说明
18. 设置内容分级
19. 设置应用定价和分发范围
20. 配置应用内容:内容分级问卷目标受众和内容隐私政策链接
21. 内容分级问卷
22. 目标受众和内容
23. 隐私政策链接
24. 设置定价和分发范围:免费或付费分发国家/地区是否包含广告
25. 免费或付费
26. 分发国家/地区
27. 是否包含广告
28. 检查并发布应用:检查所有设置是否正确点击”发布应用”按钮
29. 检查所有设置是否正确
30. 点击”发布应用”按钮
31. 等待审核:Google Play将对应用进行审核审核通过后,应用将在Google Play中可见
32. Google Play将对应用进行审核
33. 审核通过后,应用将在Google Play中可见
访问Google Play Console(https://play.google.com/apps/publish/)。
使用Google开发者账户登录。
点击”创建应用”按钮。
填写应用基本信息:
• 默认语言
• 应用标题
• 简短描述
• 详细描述
上传应用资源:
• 应用图标
• 宣传图
• 应用截图
上传APK文件:
• 进入”发布管理” > “应用版本”
• 点击”创建新版本”
• 上传已签名并优化过的APK文件
• 填写版本号和版本说明
• 设置内容分级
• 设置应用定价和分发范围
配置应用内容:
• 内容分级问卷
• 目标受众和内容
• 隐私政策链接
设置定价和分发范围:
• 免费或付费
• 分发国家/地区
• 是否包含广告
检查并发布应用:
• 检查所有设置是否正确
• 点击”发布应用”按钮
等待审核:
• Google Play将对应用进行审核
• 审核通过后,应用将在Google Play中可见
8.3 上传到其他应用商店
除了Google Play,还可以将应用发布到其他Android应用商店,如:
1. Amazon Appstore
2. Samsung Galaxy Apps
3. Huawei AppGallery
4. Xiaomi Mi GetApps
5. OPPO Software Store
6. Vivo App Store
每个应用商店都有自己的注册流程和发布要求,需要按照各自的指南进行操作。
9. 常见问题与解决方案
9.1 Eclipse启动缓慢或崩溃
问题:Eclipse启动缓慢或经常崩溃。
解决方案:
1. - 增加Eclipse的内存分配:编辑Eclipse安装目录下的eclipse.ini文件修改或添加以下参数:-Xms512m
- -Xmx1024m
- -XX:PermSize=256m
- -XX:MaxPermSize=512m
复制代码 2. 编辑Eclipse安装目录下的eclipse.ini文件
3. - 修改或添加以下参数:-Xms512m
- -Xmx1024m
- -XX:PermSize=256m
- -XX:MaxPermSize=512m
复制代码 4. 禁用不必要的插件:选择”Help” > “About Eclipse” > “Installation Details”在”Plug-ins”标签页中,禁用不需要的插件
5. 选择”Help” > “About Eclipse” > “Installation Details”
6. 在”Plug-ins”标签页中,禁用不需要的插件
7. 清理工作空间:删除工作空间目录下的.metadata/.plugins/org.eclipse.core.resources/.snap文件重启Eclipse,选择”File” > “Switch Workspace” > “Other”,然后选择工作空间目录
8. 删除工作空间目录下的.metadata/.plugins/org.eclipse.core.resources/.snap文件
9. 重启Eclipse,选择”File” > “Switch Workspace” > “Other”,然后选择工作空间目录
增加Eclipse的内存分配:
• 编辑Eclipse安装目录下的eclipse.ini文件
• - 修改或添加以下参数:-Xms512m
- -Xmx1024m
- -XX:PermSize=256m
- -XX:MaxPermSize=512m
复制代码- -Xms512m
- -Xmx1024m
- -XX:PermSize=256m
- -XX:MaxPermSize=512m
复制代码
禁用不必要的插件:
• 选择”Help” > “About Eclipse” > “Installation Details”
• 在”Plug-ins”标签页中,禁用不需要的插件
清理工作空间:
• 删除工作空间目录下的.metadata/.plugins/org.eclipse.core.resources/.snap文件
• 重启Eclipse,选择”File” > “Switch Workspace” > “Other”,然后选择工作空间目录
9.2 ADT插件安装失败
问题:安装ADT插件时出现错误。
解决方案:
1. 检查网络连接是否正常。
2. 尝试使用不同的更新站点:https://dl-ssl.google.com/android/eclipse/http://dl-ssl.google.com/android/eclipse/
3. https://dl-ssl.google.com/android/eclipse/
4. http://dl-ssl.google.com/android/eclipse/
5. 手动下载ADT插件:访问https://dl-ssl.google.com/android/eclipse/下载ADT插件压缩包在Eclipse中,选择”Help” > “Install New Software” > “Add” > “Archive”选择下载的ADT插件压缩包
6. 访问https://dl-ssl.google.com/android/eclipse/
7. 下载ADT插件压缩包
8. 在Eclipse中,选择”Help” > “Install New Software” > “Add” > “Archive”
9. 选择下载的ADT插件压缩包
10. 使用兼容版本的Eclipse和ADT插件:确保Eclipse版本与ADT插件版本兼容通常,Eclipse 4.2 (Juno)或4.3 (Kepler)与较新版本的ADT插件兼容
11. 确保Eclipse版本与ADT插件版本兼容
12. 通常,Eclipse 4.2 (Juno)或4.3 (Kepler)与较新版本的ADT插件兼容
检查网络连接是否正常。
尝试使用不同的更新站点:
• https://dl-ssl.google.com/android/eclipse/
• http://dl-ssl.google.com/android/eclipse/
手动下载ADT插件:
• 访问https://dl-ssl.google.com/android/eclipse/
• 下载ADT插件压缩包
• 在Eclipse中,选择”Help” > “Install New Software” > “Add” > “Archive”
• 选择下载的ADT插件压缩包
使用兼容版本的Eclipse和ADT插件:
• 确保Eclipse版本与ADT插件版本兼容
• 通常,Eclipse 4.2 (Juno)或4.3 (Kepler)与较新版本的ADT插件兼容
9.3 模拟器启动缓慢或无法启动
问题:Android模拟器启动缓慢或无法启动。
解决方案:
1. 使用Intel HAXM加速:确保CPU支持Intel VT-x或AMD-V在BIOS中启用虚拟化技术安装Intel HAXM:打开Android SDK Manager安装”Intel x86 Emulator Accelerator (HAXM installer)”导航到<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager目录运行intelhaxm-android.exe
2. 确保CPU支持Intel VT-x或AMD-V
3. 在BIOS中启用虚拟化技术
4. 安装Intel HAXM:打开Android SDK Manager安装”Intel x86 Emulator Accelerator (HAXM installer)”导航到<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager目录运行intelhaxm-android.exe
5. 打开Android SDK Manager
6. 安装”Intel x86 Emulator Accelerator (HAXM installer)”
7. 导航到<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager目录
8. 运行intelhaxm-android.exe
9. 创建使用Intel x86系统映像的AVD:在Android SDK Manager中,安装Intel x86 Atom System Image在AVD Manager中,创建新的AVD,选择Intel x86作为CPU/ABI
10. 在Android SDK Manager中,安装Intel x86 Atom System Image
11. 在AVD Manager中,创建新的AVD,选择Intel x86作为CPU/ABI
12. 减少AVD的内存分配:在AVD Manager中,编辑AVD设置将RAM设置为512MB或更少
13. 在AVD Manager中,编辑AVD设置
14. 将RAM设置为512MB或更少
15. 使用Genymotion等第三方模拟器:下载并安装Genymotion创建虚拟设备在Eclipse中安装Genymotion插件
16. 下载并安装Genymotion
17. 创建虚拟设备
18. 在Eclipse中安装Genymotion插件
使用Intel HAXM加速:
• 确保CPU支持Intel VT-x或AMD-V
• 在BIOS中启用虚拟化技术
• 安装Intel HAXM:打开Android SDK Manager安装”Intel x86 Emulator Accelerator (HAXM installer)”导航到<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager目录运行intelhaxm-android.exe
• 打开Android SDK Manager
• 安装”Intel x86 Emulator Accelerator (HAXM installer)”
• 导航到<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager目录
• 运行intelhaxm-android.exe
• 打开Android SDK Manager
• 安装”Intel x86 Emulator Accelerator (HAXM installer)”
• 导航到<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager目录
• 运行intelhaxm-android.exe
创建使用Intel x86系统映像的AVD:
• 在Android SDK Manager中,安装Intel x86 Atom System Image
• 在AVD Manager中,创建新的AVD,选择Intel x86作为CPU/ABI
减少AVD的内存分配:
• 在AVD Manager中,编辑AVD设置
• 将RAM设置为512MB或更少
使用Genymotion等第三方模拟器:
• 下载并安装Genymotion
• 创建虚拟设备
• 在Eclipse中安装Genymotion插件
9.4 真机无法连接或调试
问题:Android设备无法连接到计算机或无法进行调试。
解决方案:
1. 检查USB连接:确保USB线正常工作尝试更换USB端口尝试更换USB线
2. 确保USB线正常工作
3. 尝试更换USB端口
4. 尝试更换USB线
5. 检查设备设置:确保已启用开发者选项确保已启用USB调试尝试切换USB连接模式(MTP、PTP等)
6. 确保已启用开发者选项
7. 确保已启用USB调试
8. 尝试切换USB连接模式(MTP、PTP等)
9. 安装设备驱动:对于Windows系统,可能需要安装设备特定的USB驱动可以使用”Google USB Driver”或设备制造商提供的驱动
10. 对于Windows系统,可能需要安装设备特定的USB驱动
11. 可以使用”Google USB Driver”或设备制造商提供的驱动
12. 重启ADB:打开命令提示符,导航到<sdk>/platform-tools目录运行以下命令:adb kill-server
adb start-server
13. 打开命令提示符,导航到<sdk>/platform-tools目录
14. 运行以下命令:adb kill-server
adb start-server
15. 检查设备是否被识别:运行adb devices命令如果设备列表为空,说明设备未被正确识别
16. 运行adb devices命令
17. 如果设备列表为空,说明设备未被正确识别
检查USB连接:
• 确保USB线正常工作
• 尝试更换USB端口
• 尝试更换USB线
检查设备设置:
• 确保已启用开发者选项
• 确保已启用USB调试
• 尝试切换USB连接模式(MTP、PTP等)
安装设备驱动:
• 对于Windows系统,可能需要安装设备特定的USB驱动
• 可以使用”Google USB Driver”或设备制造商提供的驱动
重启ADB:
• 打开命令提示符,导航到<sdk>/platform-tools目录
• 运行以下命令:adb kill-server
adb start-server
- adb kill-server
- adb start-server
复制代码
检查设备是否被识别:
• 运行adb devices命令
• 如果设备列表为空,说明设备未被正确识别
9.5 APK签名失败
问题:在签名APK时出现错误。
解决方案:
1. 检查密钥库和密钥密码是否正确。
2. 确保密钥库文件未损坏:使用以下命令验证密钥库:keytool -list -v -keystore "C:\path\to\your\keystore"
3. 使用以下命令验证密钥库:keytool -list -v -keystore "C:\path\to\your\keystore"
4. 确保使用的是有效的密钥库:密钥库应包含至少一个有效密钥密钥的有效期应足够长(至少25年)
5. 密钥库应包含至少一个有效密钥
6. 密钥的有效期应足够长(至少25年)
7. 尝试使用不同的签名工具:使用Eclipse的导出功能使用Jarsigner命令行工具使用Android Studio的签名功能
8. 使用Eclipse的导出功能
9. 使用Jarsigner命令行工具
10. 使用Android Studio的签名功能
11. 检查APK文件是否完整:确保APK文件未损坏尝试重新生成未签名的APK
12. 确保APK文件未损坏
13. 尝试重新生成未签名的APK
检查密钥库和密钥密码是否正确。
确保密钥库文件未损坏:
• 使用以下命令验证密钥库:keytool -list -v -keystore "C:\path\to\your\keystore"
- keytool -list -v -keystore "C:\path\to\your\keystore"
复制代码
确保使用的是有效的密钥库:
• 密钥库应包含至少一个有效密钥
• 密钥的有效期应足够长(至少25年)
尝试使用不同的签名工具:
• 使用Eclipse的导出功能
• 使用Jarsigner命令行工具
• 使用Android Studio的签名功能
检查APK文件是否完整:
• 确保APK文件未损坏
• 尝试重新生成未签名的APK
10. 总结
本教程详细介绍了使用Eclipse开发Android应用并输出APK文件的完整流程,从环境配置到最终发布的各个步骤。通过本教程,您应该已经掌握了:
1. 如何配置Android开发环境,包括安装JDK、Eclipse、ADT插件和Android SDK。
2. 如何创建Android项目并理解项目结构。
3. 如何设计用户界面和编写Java代码实现应用功能。
4. 如何在模拟器和真机上调试应用。
5. 如何生成未签名和已签名的APK文件。
6. 如何优化APK文件。
7. 如何准备发布材料并将应用上传到应用商店。
8. 如何解决常见问题。
虽然现在Google推荐使用Android Studio进行Android开发,但Eclipse仍然是一个功能强大的开发工具,特别适合那些已经熟悉Eclipse的开发者。通过本教程的学习,您应该能够使用Eclipse开发出功能完善的Android应用,并成功发布到应用商店。
希望本教程对您有所帮助,祝您在Android开发的道路上取得成功! |
|