Android - 需要一种无需源代码即可创建库(.aar 文件)的方法

标签 android android-library aar source-code-protection

我的目标是能够仅将 android 库应用程序作为二进制文件(没有源代码)分发给其他开发人员。 这样他们就可以用它制作自己的应用程序。

我正在开发两个 android 应用程序。第一个是库应用程序应该充当一种 SDK。 第二个应用程序应该使用库应用程序并制作原始应用程序。

我正在使用 android studio 开发应用程序。我已经完成了图书馆应用程序的实现并生成了 .aar。

现在我正在使用我自己的 SDK(.aar) 来构建第二个应用程序。我可以在我的第二个应用程序中使用 .aar。

问题是,android studio 可以反编译我的 SDK(.aar)。但我不想分享源代码。

注意:我的 librarySDK 不包含任何 UI 元素,例如 Activity、Resources。

有什么方法可以在没有源代码的情况下创建 SDK(.aar) 吗?

最佳答案

是的,当您构建SDK/Library aar 文件时,您需要使用proguard

在您的 SDK/库 gradle 中将 minifyEnabled 更改为 true

buildTypes {
        release {
            minifyEnabled true //enable proguard
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

Enabling ProGuard in Eclipse for Android

关于Android - 需要一种无需源代码即可创建库(.aar 文件)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055002/

相关文章:

java - Android:build.gradle中的API兼容性问题

Android gradle库项目: package extra modules and jars

android-gradle-plugin - 安卓 : Didn't find class "Picasso" on path: DexPathList (Failed resolution of: Picasso)

android - Cordova Ant jar 不可用

android - AppCompatActivity 中的 onlistitemclick

c++ - 在 NDK 的稳定 API 之外使用原生 Android 系统库

android - 将 androidx.room 打包到 aar 库中的项目导致 java.lang.NoClassDefFoundError : Failed resolution of: Landroidx/room/RoomDatabase

java - 是否可以在许多其他应用程序使用的模块中使用深度链接?

gradle - 使用 jenkins 将多个 aar 上传到 Nexus - gradle release

java - 自动重复本地通知?