适用场景:GitHub 公开仓库,无需认证
- 访问 https://github.com/Bean-V/WorkUp-SDK/releases
- 点击 Create a new release
- 选择 Tag version(如
v1.0.0) - 填写 Release title 和描述
- 点击 Publish release
- 访问 https://jitpack.io/#Bean-V/WorkUp-SDK 触发构建
- 等待构建完成(首次约 5-10 分钟)
⚠️ 注意:必须先创建 Release 并在 JitPack 构建成功,才能添加依赖
在项目根目录 build.gradle 中:
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}在 App 模块 build.gradle 中:
dependencies {
implementation 'com.github.Bean-V.WorkUp-SDK:omm-lib:1.0.0'
}适用场景:企业内部网络,私有部署
allprojects {
repositories {
maven {
url = "http://192.168.88.218:8403/repository/workup-sdk-releases/"
allowInsecureProtocol = true
}
}
}dependencies {
implementation 'com.oort.workup-sdk:omm-lib:1.0.0'
}适用场景:使用 GitLab Raw URL 访问独立的 Maven Git 仓库
allprojects {
repositories {
maven {
url = "http://192.168.88.125/zhangzhijun/workup-sdk-maven/raw/master"
allowInsecureProtocol = true
// 如果仓库是私有的,需要添加认证
credentials(HttpHeaderCredentials) {
name = "Private-Token"
value = "your-gitlab-token"
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
}dependencies {
implementation 'com.oort.workup-sdk:omm-lib:1.0.0'
}android {
compileSdkVersion 36
defaultConfig {
minSdkVersion 26
targetSdkVersion 36
multiDexEnabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />AppStoreManager appStore = AppStoreManager.getInstance();
// 获取推荐应用
appStore.getRecommendApps(new Callback<List<AppInfo>>() {
@Override
public void onSuccess(List<AppInfo> apps) {
// 展示应用列表
for (AppInfo app : apps) {
Log.d("AppStore", app.getName() + " - " + app.getVersion());
}
}
@Override
public void onError(Exception e) {
Log.e("AppStore", "获取失败", e);
}
});// 下载应用
appStore.downloadApp(appId, new DownloadCallback() {
@Override
public void onProgress(int progress) {
Log.d("Download", "进度: " + progress + "%");
}
@Override
public void onSuccess(File apkFile) {
// 自动安装
appStore.installApp(apkFile);
}
@Override
public void onError(Exception e) {
Log.e("Download", "下载失败", e);
}
});// 检查应用是否已安装
boolean isInstalled = appStore.isAppInstalled(packageName);
// 卸载应用
appStore.uninstallApp(packageName);
// 获取已安装的应用列表
List<AppInfo> installedApps = appStore.getInstalledApps();// 配置连接
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
.setHost("im.example.com")
.setPort(5222)
.setServiceName("example.com")
.build();
// 建立连接
XMPPConnection connection = new XMPPTCPConnection(config);
connection.connect();
connection.login(username, password);ChatManager chatManager = ChatManager.getInstanceFor(connection);
EntityBareJid jid = JidCreate.entityBareFrom("user@example.com");
// 创建聊天
Chat chat = chatManager.chatWith(jid);
// 发送文本消息
chat.send("你好!");
// 发送图片消息
Message message = new Message();
message.setBody("图片消息");
message.addExtension(new ImageExtension(imageUrl));
chat.send(message);// 监听新消息
chat.addIncomingListener((from, message, chat) -> {
String body = message.getBody();
Log.d("IM", "收到消息: " + body);
// 更新 UI
runOnUiThread(() -> {
showMessage(from.toString(), body);
});
});Roster roster = Roster.getInstanceFor(connection);
// 获取好友列表
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
Log.d("Contacts", entry.getName() + " - " + entry.getUser());
}
// 添加好友
roster.createEntry("newfriend@example.com", "新朋友", null);
// 删除好友
RosterEntry entry = roster.getEntry("friend@example.com");
roster.removeEntry(entry);
// 设置好友状态
Presence presence = new Presence(Presence.Type.available);
presence.setStatus("在线");
connection.sendStanza(presence);MultiUserChatManager mucManager = MultiUserChatManager.getInstanceFor(connection);
// 加入群组
MultiUserChat muc = mucManager.getMultiUserChat("group@conference.example.com");
muc.join("nickname");
// 发送群消息
muc.sendMessage("大家好!");
// 获取群成员
List<Occupant> occupants = muc.getOccupants();解决:
- 确认仓库地址正确
- 清除缓存:
./gradlew clean --refresh-dependencies - 检查网络连接
解决:
android {
defaultConfig {
multiDexEnabled true
}
}
dependencies {
implementation 'androidx.multidex:multidex:2.0.1'
}解决:添加 ProGuard 规则
-keep class com.oort.** { *; }
-keep class org.jivesoftware.smack.** { *; }
- 🐛 Issue: https://github.com/Bean-V/WorkUp-SDK/issues
- 📧 Email: support@oortcloud.com