Android Studio 将一个Module转换成jar包 arr包

本文详细介绍如何将Android项目转换为Jar包,包括修改build.gradle文件、配置Gradle任务、设置环境变量等步骤。
1.配置app-->build.gradle文件:
  -->1.将第一行apply plugin: 'com.android.application' 改成:apply plugin: 'com.android.library'
  -->2.将android{
...
defaultConfig{
// applicationId "com.XXXX" //注释它
...
}
lintOptions {//加入以下代码
abortOnError false
}
...
}
  -->3.在你的build.gradle文件中复制下面代码,然后sync now(同步一下,重新编译也可以):(与Android{...}平级)

task clearJar(type: Delete) {

    //sdk是你自己jar包的名字,随便命名
    delete 'libs/sdk.jar'
}
task makeJar(type: org.gradle.api.tasks.bundling.Jar) {
//指定生成的jar名
    baseName 'sdk'
//从哪里打包class文件
    from('build/intermediates/classes/debug/com/permission/ns/andpermission/')
//打包到jar后的目录结构
    into('com/permission/ns/andpermission/')
//去掉不需要打包的目录和文件
    exclude('test/', 'BuildConfig.class', 'R.class')
//去掉R开头的文件
    exclude { it.name.startsWith('R$'); }
}
    makeJar.dependsOn(clearJar, build)
  -->4.切换到“我的电脑”配置Path--(配置用户Path,配置系统Path会失败)
   一:新建一个-GRADLE_HOME:  C:\Users\计算机名.gradle\wrapper\dists    (配置的是gradle 的路径,默认一般是 C:\Users\计算机名.gradle\wrapper\dists下,如果里面有好多个版本,就选用你项目使用的gradle版本,具体可打开AndroidStudio,在自己项目目录下找到gradle--wrapper--gradle-wrapper.properties 里面查看gradle版本)
   二:在用户Path后面添加:";%GRADLE_HOME%\bin"
   三:打开命令行窗口,输入 gradle -v (出现gradle详情即说明配置成功)

  -->5.切换到windows下的cmd中,切至你的项目路径,比如本人项目路径是F:\AndroidStudioProjects\MyApplication\app
那么切至路径到该目录并输入:gradle makeJar

  -->6.在libs包下就有该jar文件(若在androidStudio中的libs文件夹下看不见,选中项目点击右键-show in exploere 可以在libs文件夹下看见)  在build-outputs-arr 可以看见arr文件,选用app_release.arr

原文:http://www.jianshu.com/p/706cfe14dd8d?from=groupmessage

本文仅供参考


<think>嗯,用户现在是想了解如何在AndroidStudio中将项目打成AAR文件,特别是用于UniApp插件开发。根据之前的对话历史,用户已经得到了关于UniApp安卓插件开发的整体指南,现在聚焦在AAR打的具体操作上。用户提供的两个引用很有价值:引用[1]展示了如何修改Gradle配置和清单文件来生成AAR,引用[2]补充了签名配置和插件依赖的关键点。这说明用户可能已经尝试过操作但遇到细节问题,或是想系统确认正确流程。需要特别注意UniApp原生插件的特殊配置要求。考虑到UniApp插件的使用场景,在回答中应该强调三个核心环节:模块类型转换(application&rarr;library)、清单文件清理、依赖配置。用户提供的引用里提到的注释MAIN入口和删除应用属性这两步特别重要,很多打失败都源于此。另外注意到引用[2]提到了uniapp后台名匹配和签名配置,这个在云端打时很关键,但用户当前问题集中在本地AAR生成。可以提示用户后续打需要对应uniapp后台配置,作为延伸注意事项。用户似乎是个中级开发者(能提出具体技术路径但需要操作细节),所以步骤要具体到文件修改位置,比如明确指出build.gradle的applicationId删除位置。同时需要提醒常见坑点:比如忘记注释intent-filter会导致安装冲突,library模块忘记添加UniSDK依赖等。最后生成的相关问题要围绕UniApp生态延伸:跨平台兼容处理、插件调试技巧、云打流程,这些才是用户真正后续会遇到的链条问题。特别要括原生和JS端错误排查,因为第一次开发插件的人往往卡在运行调试环节。</think> 下面是在Android Studio中将UniApp插件打为AAR文件的完整教程,已整合引用内容中的关键操作步骤: ### 一、准备工作 1. **创建Android Library模块** `File &rarr; New &rarr; New Module &rarr; Android Library` 命名模块(如`myplugin`),名需与UniApp云端打配置一致[^2]。 2. **添加UniApp SDK依赖** 在模块的`build.gradle`中添加: ```gradle dependencies { implementation 'com.github.dcloudio:uni-app:latest.release' // 版本号参考引用[1] } ``` --- ### 二、修改配置 #### 1. 转换模块类型 在**模块级** `build.gradle` 中修改: ```gradle // 注释此行 &darr; // apply plugin: 'com.android.application' // 添加此行 &darr; apply plugin: 'com.android.library' android { // 删除此行 &darr; // applicationId "com.example" // 关键!library模块不能有applicationId[^1] } ``` #### 2. 清理清单文件 在 `AndroidManifest.xml` 中: ```xml <application android:icon="@mipmap/ic_launcher" <!-- 删除icon属性 --> android:label="@string/app_name"> <!-- 删除label属性 --> <!-- 注释入口过滤器(关键步骤)[^1] --> <!--<activity> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>--> </application> ``` --- ### 三、生成AAR文件 1. **触发编译** Android Studio右侧Gradle面板 &rarr; 选择模块 &rarr; `Tasks > build > assembleRelease` 2. **获取AAR** 生成路径: `module-name/build/outputs/aar/module-name-release.aar` > ⚠️ 关键验证:解压AAR检查清单文件中是否残留`MAIN/LAUNCHER`声明 --- ### 四、UniApp集成配置 1. **放置AAR文件** 在UniApp项目中创建目录: `nativeplugins/myPlugin/android` 2. **配置插件信息** 在 `pages.json` 中添加: ```json "nativePlugins": [{ "pluginType": "module", "path": "nativeplugins/myPlugin" }] ``` --- ### 五、常见问题解决 | 问题现象 | 解决方案 | |---------|---------| | 云打提示`Invalid package` | 检查AAR中的名是否与云端配置一致[^2] | | 插件方法调用失败 | 确保Gradle中已添加`uni-app`依赖[^1] | | 安装后出现两个图标 | 确认清单文件已注释`MAIN/LAUNCHER`[^1] | > **调试技巧**:使用`adb logcat | grep "uniplugin"`过滤插件日志 --- ### 操作流程图 ```mermaid graph TD A[创建Android Library模块] --> B{修改配置} B --> C[转换模块类型] B --> D[清理清单文件] C --> E[生成AAR] D --> E E --> F[集成到UniApp] F --> G[云端打验证] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值