# MiCode Note Android Studio 环境搭建 #### Android Studio 下载安装[Android Studio官网下载](https://developer.android.com/studio) 配置网络环境 # 下载Notes源代码 # 创建Android项目 按图完成项目创建,并等待右下角项目创建进度完成。 ![create](https://blog.stepbystep.host/2025/03/17/minote-environment/create.png) ```bash cp -r "D:/Mi_note/Mi_note/Notes-master/src/net/micode/notes/"* "D:/MiNote/app/src/main/java/net/micode/notes/" cp -r "D:/Mi_note/Mi_note/Notes-master/res/"* "D:/MiNote/app/src/main/res/" ``` cmd下命令 ```bash xcopy /E /I "D:\Mi_note\Mi_note\Notes-master\src\net\micode\notes\*" "D:\MiNote\app\src\main\java\net\micode\notes\" xcopy /E /I "D:\Mi_note\Mi_note\Notes-master\res\*" "D:\MiNote\app\src\main\res\" ``` # 修改Manifest.xml ![manifest](https://blog.stepbystep.host/2025/03/17/minote-environment/manifest.png) ```xml ``` # 下载依赖 ```bash # 下载(用 curl 替代 wget) curl -o httpcomponents-client-4.5.14-bin.zip https://dlcdn.apache.org/httpcomponents/httpclient/binary/httpcomponents-client-4.5.14-bin.zip # 创建目录 mkdir -p app/libs # 解压到指定路径 unzip httpcomponents-client-4.5.14-bin.zip -d app/libs # 进入解压后的目录 cd app/libs/httpcomponents-client-4.5.14 # 清理不需要的文件 rm -rf javadoc/ LICENSE.txt NOTICE.txt RELEASE_NOTES.txt # 把 lib 目录下所有 jar 复制到当前目录 cp ./lib/* . # 删除 lib 目录 rm -rf lib ``` # 添加依赖 ![gradle](https://blog.stepbystep.host/2025/03/17/minote-environment/gradle.png) ```Gradle implementation(fileTree(mapOf( "dir" to "libs", "include" to listOf("*.aar", "*.jar"), "exclude" to emptyList() ))) ``` # 修改过时函数showNotification ![fun-replace](https://blog.stepbystep.host/2025/03/17/minote-environment/fun-replace.png) ```java private void showNotification(int tickerId, String content) { PendingIntent pendingIntent; if (tickerId != R.string.ticker_success) { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, NotesPreferenceActivity.class), PendingIntent.FLAG_IMMUTABLE); } else { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, NotesListActivity.class), PendingIntent.FLAG_IMMUTABLE); } Notification.Builder builder = new Notification.Builder(mContext) .setAutoCancel(true) .setContentTitle(mContext.getString(R.string.app_name)) .setContentText(content) .setContentIntent(pendingIntent) .setWhen(System.currentTimeMillis()) .setOngoing(true); Notification notification=builder.getNotification(); mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); } ``` # 转换switch为if-else (共4处) ![switch-replace](https://blog.stepbystep.host/2025/03/17/minote-environment/switch-replace.png) # 修改重复引入依赖 ```Gradle // implementation(fileTree(mapOf( // "dir" to "libs", // "include" to listOf("*.aar", "*.jar"), // "exclude" to emptyList() // ))) implementation(files("libs/httpclient-osgi-4.5.14.jar")) implementation(files("libs/httpclient-win-4.5.14.jar")) implementation(files("libs/httpcore-4.4.16.jar")) ``` 在build.gradle(Module:app)的android字段里面,加上这段代码,排除掉冲突的系统依赖包 ```Gradle packaging { resources.excludes.add("META-INF/DEPENDENCIES"); resources.excludes.add("META-INF/NOTICE"); resources.excludes.add("META-INF/LICENSE"); resources.excludes.add("META-INF/LICENSE.txt"); resources.excludes.add("META-INF/NOTICE.txt"); } ``` # 创建虚拟机 # 运行成功 ![result](https://blog.stepbystep.host/2025/03/17/minote-environment/result.png)