一、环境配置与项目创建
1. 安装 DevEco Studio
- 下载安装:从 华为开发者联盟 下载 DevEco Studio。
- 配置 SDK:
- 打开 IDE,进入 Tools > SDK Manager,安装以下内容:
- ArkTS 编译器(版本 3.1.0+)
- Device Tool(用于真机调试)
- 模拟器(可选,推荐使用 P40 等真机测试)。
2. 创建新项目
- 选择模板:
- 打开 DevEco Studio,选择 File > New > Project。
- 选择 Empty Ability(空工程模板),语言选 ArkTS。
- 配置项目:
- 输入包名(如
com.example.myapplication
)。 - 配置设备类型(手机/平板/智慧屏等)。
- 生成项目后,自动同步依赖(
build.gradle
配置见下文)。
二、核心代码实例
实例1:ArkTS UI 页面开发
// entry/src/main/ets/Index.ets
@Entry
@Component
struct Index {
// 定义状态变量
private count: number = 0;
build() {
Column({ space: 50 }) {
Text(this.count.toString())
.fontSize(50)
.fontColor('#007AFF')
Button('Increment')
.onClick(() => {
this.count++;
})
}
.width('100%')
.height('100%')
}
}
实例2:跨设备分布式数据同步
// entry/src/main/ets/DistributedData.ets
import distributedData from '@ohos.distributedData';
@Entry
@Component
struct DistributedDemo {
private data: string = 'Hello HarmonyOS';
aboutToAppear() {
// 写入分布式数据
distributedData.putValue('key', this.data)
.then(() => console.log('Data saved'))
.catch(err => console.error('Save failed:', err));
// 读取数据
distributedData.getValue('key')
.then(value => console.log('Received:', value));
}
}
三、调试与日志分析
1. 真机调试
- 连接设备:
- 通过 USB 连接鸿蒙设备,开启开发者模式(设置 → 关于 → 连点 7 次)。
- 在 DevEco Studio 中选择设备 → 点击运行按钮。
- 查看日志:
2. 断点调试
- 在代码行号左侧点击设置断点。
- 选择 Run > Debug 'EntryAbility'。
- 使用 Debugger 面板查看变量值和调用栈。
四、性能优化实例
1. 内存泄漏检测
// entry/src/test/ets/MemoryTest.ets
import test from '@ohos.test.performance';
test('Memory leak check', async () => {
const monitor = test.startMonitoring(['memory']);
// 模拟高频操作
for (let i = 0; i < 1000; i++) {
this.createComponent();
}
const result = monitor.stop();
expect(result.memory.maxUsage).toBeLessThan(50); // MB
});
2. CPU 占用分析
- 打开 Profiler 工具(View → Tool Windows → Profiler)。
- 选择 CPU 标签,点击录制按钮。
- 分析耗时方法(如
onCreate
或复杂计算函数)。
五、多设备协同调试
场景:手机与平板协同
- 配置多设备环境:
- 在 DevEco Studio 中连接两台设备(手机 + 平板)。
- 启用分布式调试(Run > Edit Configurations → 勾选 Distributed Debug)。
- 代码示例:
// 跨设备调用服务
import deviceManager from '@ohos.distributedDevice';
async function startService() {
const devices = await deviceManager.getDevices();
const tablet = devices.find(d => d.deviceType === 'tablet');
await deviceManager.startAbility(tablet.id, 'entry.Ability');
}
六、构建与发布
1. 生成安装包(HAP)
- 点击菜单 Build > Build Bundle(s) / APK(s) > Build APK(s)。
- 生成的文件路径:
entry/build/outputs/apk/debug/app-debug.apk
。
2. 发布到应用市场
- 在
build.gradle
中配置签名: signingConfigs {
release {
storeFile file('my-release-key.jks')
storePassword 'password'
keyAlias 'key'
keyPassword 'password'
}
}
- 生成正式包:
npm run build:release
七、常见问题解决
- 依赖冲突:
- 权限报错:
八、进阶技巧
- 自定义模板:
- 通过 File > New > Project from Template 创建企业级模板。
- 插件扩展:
- 安装第三方插件(如 ESLint)提升代码质量。