Android APP打包的时候提示错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android APP打包的时候提示错误相关的知识,希望对你有一定的参考价值。

然后项目也跟着报错运行不了了 是为什么?

android系统的开放性和免费性等特征让开发者和用户趋之若鹜,用户也渐渐习惯了Android应用的这种免费午餐,但在免费的背后却有着巨大的安全阴影。
“Android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。
面对二次打包不少公司都有自己的防范措施,知名公司的APP几乎都是自己在程序内部做过处理防止其APP被二次打包,一旦打包后重新运行则程序自动退出。接下来,我就来详解一下如何防止APP被二次打包。
要实现代码内部防止APP被二次打包首先得了解APK的机器识别原理,APK的唯一识别是依靠包名和签名来做鉴定的,类似豌豆夹的洗白白、360手机卫士等安全软件对APK的山寨识别,他们就是依赖包名来确定APK然后通过签名来确定其是否山寨。所以说自己的程序内部在启动的时候可以通过获取APK本身的签名然后和正确的签名做对比来识别自己是否被二次打包。
通过PackageManag对象可以获取APK自身的签名。

通过对签名的码的分解得到一串20左右的字符串,此字符串则是APK的签名的MD5值,通过获取的签名MD5值与正确的MD5值进行对比,就可以识别其APK是否被盗版。

下图是一些已做过保护的APP的代码块分析:

上图是“XX省电王“的防止二次打包的关键代码

上图是”XX电池管家”的防止二次打包的关键代码

以上两处都是smali层的代码,以上2处代码的截图都是下载量非常高的APP所做的防止二次打包的处理,其处理的代码肯定会使用到的关键代码是
Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature。
此方法能够起到一定的安全作用,一般的打包党面对它是无可奈何的,如果你了解一些smali语法它的作用就等于0了。
爱加密——专业的APP安全保护加固平台!追问

那这个的意思就是说这个开发软件是盗版的所以才这样吗

参考技术A 东西有毛病。

ANDROID打包错误ERROR:EXECUTION FAILED FOR TASK ´:APP:LINTVITALRELEASE´.

来自:http://dditblog.com/itshare_657.html

今天修改之前的项目之后、准备打包的时候、一起打包不了、一直提示有问题、错误是一些什么Strings.xml里面的一些信息、有点看不懂、我也有尝试着改一下string.xml里面报错的地方、但仍然还是打包不了、然后往下翻的时候看到最后的提示消息如下

Error:Execution failed for task ´:app:lintVitalRelease´.
> Lint found fatal errors while assembling a release target.
  To proceed, either fix the issues identified by lint, or modify your build script as follows:
  ...
  android {
      lintOptions {
          checkReleaseBuilds false
          // Or, if you prefer, you can continue to check for errors in release builds,
          // but continue the build even when errors are found:
          abortOnError false
      }
  }
  ...

 

解决方案

其实解决方案已经提示出来了、就是在对应的项目build.gradle里面添加一个配置、在app的build.gradle里的android{}中添加如下代码、然后再次运行Generate Signed Apk就正常了

android {
    compileSdkVersion 23
    buildToolsVersion ´25.0.0´

    defaultConfig {
        applicationId "com.luzhiyao.sgongdoocar"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 5
        versionName "1.1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFileproguard-android.txt´), ´proguard-rules.pro´
        }
    }

    //添加如下配置就ok
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}

 

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛

以上是关于Android APP打包的时候提示错误的主要内容,如果未能解决你的问题,请参考以下文章

如何解决这个错误。 com.google.android.gms.tasks.task executors$zza 无法转换为 android.app.activity。我是 Java 和 Andro

uniapp关于使用 Android 离线打包的注意事项

uniapp关于使用 Android 离线打包的注意事项

Android提示BOM错误排查

Android提示BOM错误排查

Android gradle 打包错误A problem occurred configuring project ':app'.