Orca.so
GitHub地址,欢迎Stars
未经允许禁止转载
一、迟来的更新
一年前的一篇文章 Androd开发:保存私密字符串到So库 – () 这github中文官网网页个虽然没什么人用,可是根据项目已在正式项目上运用,加上Android Build Gradle 7.0+ 部分改动,为了适配后Kotlin续的版本,我仍是决定更一下新功能Kotlin。
二、KotlinGradle 7.0+变动对kotlin匿名函数咱们的影响
1github直播平台永久回家、BaseVariant过时了
曾经咱们Task任务等特点都需要在gralde的afterEvaluate办法履行之后才giti轮胎干获取到很多giti轮胎安卓对应的特点 现在咱们能够换到下列这个办法下获取,例如区别giteedebug或许release
project.extensions.getByType(AndroidComponentsExtension::class.java).onVariants {}
2、registerJ字符间距在哪里设置avaGenerateTask这个任务没了,然后新的办法不太灵敏
其实咱们能够在这里找到挨近的新办法:
gradle-recipes/build.gradle.kts at agp-7.3 android/gradle-recipes (github.ckotlin怎么读om)
可是根据操作灵敏咱们就自己写Task吧,其实就是生成好JAVA的代码然后把路径添加到SourceSet即可
project.extensions.getByType(AndroidComponentsExtension::class.java)
.apply {
beforeVariants {
android.sourceSets{
val outputDir = File(project.buildDir, "/generated/source/orca/${it.name}")
findByName(it.name)?.apply {
println("add sourceSet path = $outputDir")
java.srcDir(outputDir)
kotlin.srcDir(outputDir)
}
}
}
onVariants {
//创立其他任务
}
}
3、涉及到NDK编译时候 generateJsonModel 需要改字符间距在哪里设置为 configureCMake
经过编译其实不难发现generateJsonModel不再被运kotlin语言用,而是采用了configureCMake针对arm架构的分类Task 此处具体不展开,有爱好的同学能够留言kotlin和java区别。
configureCMake [task ':app:configureCMakeDebug', task ':app:configureCMakeDebug[arm64-v8a]']
三、经过ASM修正字节码,完成经过注解变量然后字符是什么反射注入对应加密的github直播平台永久回家字kotlin匿名函数符串字符间距怎么加宽内容。
有意思的github直播平台永久回家是现在新的修正办法比曾经通俗好理解,注册Transformandroid手机办法也变了。
project.extensions.getByType(AndroidComponentsExtension::class.java).apply {
this.onVariants { variant ->
projectName = project.name
variant.instrumentation.transformClassesWith(
ClassVisitorFactory::class.java,
InstrumentationScope.PROJECT
) {}
variant.instrumentation.setAsmFramesComputationMode(FramesComputationMode.COPY_FRAMES)
}
}
四、新功能运用办法
:app or :library
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'Orca'
id 'Orca-compiler'
}
dependencies{
implementation("com.github.ShowMeThe.Orca:orca-annotation:2.3.0")
}
根目录下的 build.gradle 引入行插件
buildscript{
dependencies {
classpath("com.github.ShowMeThe.Orca:plugin:2.3.0")
classpath("com.github.ShowMeThe.Orca:orca-compiler:2.3.0")
}
}
在项目中只需要简略github直播平台永久回家注解:
class AndroidViewModel(application: Application) : AndroidViewModel(application) {
@CoreDecryption("data")
private var data = ""
@CoreDecryption("base")
private var data2 = ""
fun getValue() = data
fun getValue2() = data2
}
履行对应的viewModel.getValue()即可
五、总结一下
其实这次版本的适配难度不算大,可是也花了点时间阅读文档,总归这些常识仍是需要平常堆集,上班作业基本上都是针对事务类型开发,偶然花点时间学一下新内容,不能让自己被技能的扔掉啊。
ShowMeThe/Orca: A easy way to store secret string value data in .so fil字符间距加宽2磅e byGitHub adding plugin (github.com)