首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建Android的方法及Android .aar文件用法小结

模块的整个结构仍然相同,但是现在它将作为 Android 运行,构建也将创建一个 AAR 文件,而不是 APK。...应用模块的 minSdkVersion必须大于或等于定义的版本 作为相关应用模块的一部分编译,因此,模块中使用的 API 必须与应用模块支持的平台版本兼容。...每个模块都会创建自己的 R 类 在您构建相关应用模块时,模块将先编译到 AAR 文件,然后再添加到应用模块。因此,每个都有其自己的 R 类,并根据的软件名称命名。...从主模块模块生成的 R 类会在所需的所有软件(包括主模块的软件的软件创建。...通过将 ProGuard 文件嵌入到您的模块,您可以确保依赖于此的应用模块不必手动更新其 ProGuard 文件即可使用

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

Maven - 代码混淆proguard-maven-plugin vs 代码加密classfinal

ProGuard,并应用指定的选项和。...小结 采用proguard-maven-plugin插件, 在单模块此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。...支持普通jar、springboot jar以及普通java web项目编译的war。 支持spring framework、swagger等需要在启动过程扫描注解或生成字节码的框架。...解密功能已经自动加入到 yourpaoject-encrypted.jar,所以启动时-javaagent与-jar相同,不需要额外的jar。...v1.1.2 修复windows下加密后不能启动的问题 v1.1.1 启动jar时在控制台输入密码,无需将密码放在参数 v1.1.0 加密jar时将解密代码加入加密后的jar,无需使用多余的jar

22600

从JDK8升级到JDK11,看这篇就足够了

,是将类型和资源封装在模块,并仅导出其他模块要访问其公共类型的软件。...如果模块的软件未导出或打开,则表示模块的设计人员无意在模块外部使用这些软件。 这样的可能会被修改或甚至从模块删除,无需任何通知。...我们需要的参数是: --add-exports选项:模块声明的exports语句将模块导出到所有或其他模块,因此这些模块可以使用该的公共API。...下的module,都可以访问source-module的pakage包下的公共API --add-opens选项: 模块声明的opens语句使模块里面的对其他模块开放,因此这些模块可以在运行期使用深层反射访问该程序的所有成员类型...如果一个模块未打开,可以使用–add-opens命令行选项打开它。

4.2K20

在 Linux 上使用 jps 命令检查 Java 进程

在 Linux ,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。...有一些可以用来监测这些进程的实用程序,比如包含在 procps-ng 的程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据需要过滤结果列表。...在 Linux ,可以通过 ps 命令查看进程。这是查看当前系统上运行进程最简单的方法。...Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop...当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具和运行时环境仍然很重要。它们包含着许多适用于 Java 应用程序开发和维护的工具。

2.3K30

在 Linux 上使用 jps 命令检查 Java 进程

在 Linux ,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。...有一些可以用来监测这些进程的实用程序,比如包含在 procps-ng  的程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据需要过滤结果列表。...在 Linux ,可以通过 ps 命令查看进程。这是查看当前系统上运行进程最简单的方法。...Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop...当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具和运行时环境仍然很重要。它们包含着许多适用于 Java 应用程序开发和维护的工具。

2.7K20

Android NDK开发:打包sojar供他人使用

代码 4.4 测试 五、打包so 六、打包jar 七、如何使用 Android的NDK开发相信各位已经精通各种姿势了。...因为jni的函数名是有特殊要求的,它会指定jni的java接口的路径,如果不提供jar,那么使用者就要按照我们在jni头文件声明的函数名来建立java文件,这将是非常痛苦的。...它是作为我们的调用方,因此不需要什么特殊的操作。 为了避免剩下的操作报错,调用方工程先到此为止,在准备好了被调用方(也就是jar和so)后,再继续完善。...这里我们选择直接把的module作为app module的项目依赖,这样一来,每次我们运行app module时,都是以sdk module作为依赖实时编译的,不必我们每次都要导出sojar。...六、打包jar 通过上一步我们已经打包出了so,但是只有so是很难使用的,因为jni接口是指定名的,使用者的名基本不可能和我们的一样,因此提供一个jar来调用so

1.8K21

在 Android Instant App(安卓即时应用程序)启用 ProGuard (混淆)

想一下你的项目中可能存在的典型的 common(公共) 模块(在 Instant Apps(即时应用程序)术语,我们将称这个模块为 base feature(基础功能) 模块):它可能依赖于支持的许多部分...功能模块的行为与相似,它们都将代码和资源提供给编译的最后阶段,在应用程序模块这些都发生在将所有东西打包成一个 APK 之前。...在这种情况下,ProGuard(混淆)能够分析你的整个代码,找出哪些类被使用,哪些可以被安全地删除。 **在即时应用程序构建中,每个功能模块都会生成自己的 APK。...因此我们可以先通过 SDK 的 android.jar 获取框架类的列表来进行过滤: $ jar tf ~/Android/Sdk/platforms/android-27/android.jar |...但这会让本教程的其余部分(例如筛选框架类)变得更加复杂,所以我将它作为练习给读者你。

2.5K30

史上最全的Android build.gradle配置教程

该插件一般有两种值可选: ‘com.android.application’,表示该模块为应用程序模块,可以直接运行,打包得到的是.apk文件 ‘com.android.library’,表示该模块模块...,只能作为代码依附于别的应用程序模块来运行,打包得到的是.aar文件 2、android{}闭: 这个闭主要为了配置项目构建的各种属性: 2.1、添加signingConfigs{}闭: signingConfigs...} 配置 jniLibs.srcDirs = [‘libs’],可以在Android studio的Android视图下生成jniLibs文件夹,可以方便我们存放jar文件,其中Android视图下的...2.7、packagingOptions{}闭:打包时的相关配置 当项目中依赖的第三方越来越多时,有可能会出现两个依赖存在同一个(名称)文件。...本地依赖可以对本地的jar或目录添加依赖关系,依赖可以对项目中的模块添加依赖关系,远程依赖可以对jcener上的开源项目添加依赖关系。

3.6K30

史上最全Android build.gradle配置详解(小结)

该插件一般有两种值可选: ‘com.android.application’,表示该模块为应用程序模块,可以直接运行,打包得到的是.apk文件 ‘com.android.library’,表示该模块模块...,只能作为代码依附于别的应用程序模块来运行,打包得到的是.aar文件 2、android{}闭: 这个闭主要为了配置项目构建的各种属性: 2.1、添加signingConfigs{}闭: signingConfigs...} } 配置 jniLibs.srcDirs = [‘libs’],可以在Android studio的Android视图下生成jniLibs文件夹,可以方便我们存放jar文件,其中...2.7、packagingOptions{}闭:打包时的相关配置 当项目中依赖的第三方越来越多时,有可能会出现两个依赖存在同一个(名称)文件。...本地依赖可以对本地的jar或目录添加依赖关系,依赖可以对项目中的模块添加依赖关系,远程依赖可以对jcener上的开源项目添加依赖关系。

1.7K20

“码码”再也不用担心我的代码被反编译了!

四、使用proguard工具对挑选出来的特定.jar进行代码混淆 (1)通过eclipse将工程com.stkj.action包下的所有类,打包成com.stkj.action.jar。...2、进入【输入输出】选项 添加要输入/输出的.jar(输入.jar是你要混淆的jar,输出.jar是混淆后得到的.jar)。...1、注意:【类】栏目中是工程必须要引用的资源,所以要将ssh的.jar全部加载到类。建议直接将webapps\JGJ_V2\WEB-INF\lib添加。...2、注意:【类】栏目中默认会自带rt.jar(JAVA基础类),需要将其修改为和工程相对应的版本。此外应该是jdk1.6的rt.jar。...解决方案:调整混淆的【保留】选项 问题3:执行时报错,执行失败,提示缺少类。 解决方案:在【类】时添加工程必须的lib,其中JDK下面的rt.jar(java基础类)必不可少。

2.9K60

Java 混淆器

在脑海中假想一下,在你苦苦经历 81 难,摸爬滚打研制的技术轮子,终于成型得以问世,遂打个 JAR 投放于万网之中。...作为臣服于 Java 的子民们,一切又都是那么的幸福,诸多开源的轮子帮你解决了这个问题,今天不妨尝试用一用 ProGuard 这款轮子。...如官方图示(看不清,懵懂就行) ProGuard 会对输入的 JAR 文件按照压缩、优化、混淆、预验证的顺序依次进行处理,最后得到输出 JAR 文件; ProGuard 使用依赖类(Library jars...)来辅助对 Input jars 类之间的依赖关系进行解析,但是依赖类本身不会被处理,也不会被包含到 Output jars 。...在 Input/Output ,Add input 选择要混淆的 JAR ,注意一定要添加待混淆的 JAR 依赖的所有类,Add output 指定输出文件名(例如 a.jar);压缩(Shrinking

1.6K10

Android安全攻防战,反编译与混淆技术完全解析(下)

对Utils类的未调用方法进行保留,防止其被移除掉。 对第三方进行保留,不混淆android-support,以及LitePal的代码。 下面我们就来逐一实现这些目标。...这里再举个例子,之前一直有人问我使用LitePal时的混淆配置怎么写,其实真的很简单,LitePal作为开源并不需要混淆,上面的配置已经演示了如何不混淆LitePal代码,然后所有代码的Model是需要进行反射的...在开始讲解这个工具之前,首先我们需要先准备一个Jar,当然你从哪里搞到一个Jar都是可以的,不过这里为了和刚才的混淆逻辑统一,我们就把本篇文章的项目代码打成一个Jar吧。...然后由于我们导出的Jar中有Android相关的代码,比如Activity、Fragment等,因此还需要添加Android的编译,android.jar。...由于我平时混淆Jar时里面很少会有Activity,所以没遇到过这个问题,但是本篇文章的演示Jar不仅包含了Activty,还是继承自AppCompatActivity的。

1.6K70

【Android 安装优化】资源混淆 ( 资源混淆效果 | APK 构建流程简介 | 资源 ID 组成 )

还有各种引入的依赖 ( Dependencies ) , 包括 : Android 依赖模块 ( Library Modules ) Android 依赖 ( AAR Libraries )...Java 依赖 ( JAR Libraries ) ; 应用模块 和 依赖 放在一起进行编译 , 先编译成 class 字节码文件 , 然后使用 dex 工具 , 编译成 DEX 文件 , 同时也会对...ID , 以 0x7f010000 为例 , ID 的格式分为三部分 , 7f | 01 | 0000 , 7f 表示 , 一般的程序的都会被编译成 7f 开头 ; 01 对应资源类型 , 动画类型以...混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt ) 【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息 | retrace.bat...命令执行目录 | 暴露更少信息 ) 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt ) 博客资源 :

91520

android代码混淆

proguard 问题和风险 代码混淆后虽然有混淆优化的好处,但是它往往也会带来如下的几点问题 1,混淆错误,用到第三方的时候,必须告诉 proguard 不要检查,否则proguard 会报错。...{classpath}    指定要处理的应用程序jar,war,ear和目录所需要的程序文件 -dontskipnonpubliclibraryclasses    指定不去忽略非公共的类。...-dontskipnonpubliclibraryclassmembers    指定不去忽略可见的类的成员。...命令: apktool.bat d xxx.apk destdir 配置实例 -injars  androidtest.jarjar所在地址】 -outjars  out【输出地址】 -libraryjars...    'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的jar,用于解析injars所指定的jar类】 -optimizationpasses

1.5K80
领券