相关疑难解决方法(0)

反编译apk时出现异常

我正在尝试制作一个安全的Android应用程序.我在我的应用程序中启用了proguard.但它在反编译时不会隐藏任何xml文件或清单.它只更改.java文件.

我尝试使用apktool从Play商店反编译另一个应用程序的apk .然后我得到以下异常

Exception in thread "main" brut.androlib.AndrolibException: brut.directory.Direc
toryException: java.util.zip.ZipException: error in opening zip file
        at brut.androlib.ApkDecoder.hasSources(ApkDecoder.java:199)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:83)
        at brut.apktool.Main.cmdDecode(Main.java:146)
        at brut.apktool.Main.main(Main.java:77)
Caused by: brut.directory.DirectoryException: java.util.zip.ZipException: error
in opening zip file
        at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:55)
        at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:38)
        at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
        at brut.androlib.ApkDecoder.hasSources(ApkDecoder.java:197)
        ... 3 more
Caused by: java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(Unknown Source)
        at java.util.zip.ZipFile.<init>(Unknown Source)
        at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:53)
        ... 6 more
Run Code Online (Sandbox Code Playgroud)

然后没有透露xml文件和清单.我也希望像这样保护我的应用程序.这怎么可能?

android decompiling exception apktool

8
推荐指数
1
解决办法
3394
查看次数

AirWatch似乎与Gradle 3.0.0-beta1的Android插件不兼容

更改我的顶级build.gradle后使用Android Plugin for Gradle 3.0.0-beta3with Gradle 4.1,AirWatch无法从APK中读取信息(如versionCode和versionName).

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta3'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext {
    roomVersion = '1.0.0-alpha9'
    supportLibVersion = '26.0.1' …
Run Code Online (Sandbox Code Playgroud)

android-gradle-plugin airwatch

6
推荐指数
2
解决办法
1424
查看次数

从APK中提取的Android XML - Bad Encoding

使用DDMS我从手机上下载了APK并解压缩.

PNG看起来很棒,但是当我尝试读取XML时,它们的编码是这样的,我的文本编辑器都无法读取它(Word,Notepad,Visual Studio等)

是否在APK中对XML进行了某些操作以阻止我们阅读它们?

android apk

5
推荐指数
1
解决办法
6219
查看次数

帮助解析resources.arsc?

我正在尝试解析resources.arsc文件中包含的资源,如问题中所述.我知道该androidmanifest.xml文件标识了.arsc文件中的资源.我已成功设法解析.arsc文件的标题,我无法弄清楚如何自己解析资源.

有人可以帮我弄清楚如何解析.arsc文件中包含的资源吗?

到目前为止我的解析代码:

<?php

$doc = fopen('resources.arsc', 'r+');


for($i=1;$i<10;$i++){
    $res[$i] = _unpack('V', fread($doc, 4));
}


for ($i = 0, $j = $res[6]; $i <= $j; $i++)  {
    $word = fread($doc, 4);
    $stroffs[] = _unpack('V', $word);
}


$strings = array();

$curroffs = 0;
foreach($stroffs as $offs){
    //read length
    $len = _unpack('v', fread($doc, 2));

    //read string
    if($len>0){
        $str = fread($doc, $len*2);
    }else{
        $str = '';
    }
    //null
    $wd = fread($doc, 2);
    //utf-16le
    $strings[] =  mb_convert_encoding($str, 'gbk', 'UTF-16LE');

    //curr …
Run Code Online (Sandbox Code Playgroud)

php resources parsing android

5
推荐指数
1
解决办法
6109
查看次数

使用PHP脚本从APK获取应用程序信息

我怎样才能获得versionCode,versionName从与PHP的APK应用程序图标和应用标签

php android manifest apk

5
推荐指数
1
解决办法
3131
查看次数

有没有办法在APK安装失败时收到通知?

我正在写一个应用程序。在应用程序中,我以编程方式下载 APK 并启动启动 APK 安装的意图。

Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")),
                "application/vnd.android.package-archive");
        startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

一切都运转良好。

但是,例如,当我尝试启动损坏的 APK 的安装时,会出现一个对话框: 在此输入图像描述

我希望在安装 APK 时出现问题(APK 损坏、空间不足等...)时收到通知。

那么,有没有一种方法(事件或其他东西)可以收到通知,以便我可以用我自己的对话框替换“解析错误”默认对话框?

谢谢!

installation android apk

5
推荐指数
1
解决办法
1075
查看次数

如何使用C#.Net读取Android apk文件的清单?

我有一个.net webservice,应该知道apk其文件夹中的文件版本.我知道,apktool但我需要阅读apk我的.net webserice 的清单.

我怎样才能做到这一点?你知道c#中的任何示例代码用于解码和读取apk文件的清单吗?

解压缩apk和决定清单文件是我的主要问题

.net c# android android-manifest apk

5
推荐指数
1
解决办法
7152
查看次数

如何以编程方式读取apk文件的内容?

我需要以编程方式阅读apk文件(包括AndroidManifest.xml)的内容。我知道有一些类似的工具apktooldex2jaraapt提取的apk的内容,但是,我需要做同样通过Android应用程序。顺便说一下,我的出发点是一个有效的apk文件路径

java android apk dex android-sdk-tools

5
推荐指数
1
解决办法
3883
查看次数

如何解码AndroidManifest.xml

我想解码 AndroidManifest.xml

我不想使用APKTOOL或其任何相关的依赖项,因为我正在尝试编写一个程序,该程序将在不支持它们的机器/设备上执行.

是否有编码类型的名称AndroidManifest.xml

我正在尝试用Java编写程序,是否有任何受支持的库可以提供帮助?

java encryption encoding android decoding

5
推荐指数
1
解决办法
7341
查看次数

从apk读取res文件夹

我想读取res文件夹中的所有xml文件。我能够使用jar读取清单文件。AXMLPrinter2.jar 我尝试以相同方式读取res文件夹中的xml文件,如下所示,

java -jar 'AXMLPrinter2.jar' 'account_list_item.xml' >'account_list_item.txt' 
Run Code Online (Sandbox Code Playgroud)

但它显示了一些异常,例如波纹管,

java.lang.ArrayIndexOutOfBoundsException: 109
    at android.content.res.StringBlock.getShort(StringBlock.java:231)
    at android.content.res.StringBlock.getString(StringBlock.java:91)
    at android.content.res.AXmlResourceParser.getName(AXmlResourceParser.java:140)
    at test.AXMLPrinter.main(AXMLPrinter.java:56)
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

android apk

2
推荐指数
1
解决办法
3247
查看次数

获取.apk文件的主程序包名称

我必须使用命令行在android模拟器上启动一个应用程序.因为我知道adb命令有一个方法;

adb shell am start -a android.intent.action.MAIN -n com.example.myApplication
Run Code Online (Sandbox Code Playgroud)

但是我必须在执行这个命令之前找到应用程序包名称,所以任何人都帮我找到包名,或者在模拟器上运行apk的任何替代解决方案

java command-line android adb android-emulator

2
推荐指数
1
解决办法
8066
查看次数

'apkanalyzer'不被识别为内部或外部命令

我经常将新构建的APK大小与生产构建进行比较,我正在寻找使该活动自动化的选项,以便它比较新的和产品的APK大小并向我报告。我知道Android Studio的APK分析器,但是我想使用命令行工具来做到这一点。该文档列出了apkanalyzer的用法,但是在运行此命令时

apkanalyzer -h apk file-size myapk.apk
Run Code Online (Sandbox Code Playgroud)

它说:“ 'apkanalyzer'未被识别为内部或外部命令,可操作程序或批处理文件。” 尽管我已经将环境路径设置为\ Android \ sdk \ tools \ bin。

不知道为什么命令行无法识别该命令,您能否让我知道我可能出了错的地方,还是有其他方法可以使用命令行检查apk文件的大小?

感谢您的任何帮助。

android command-line-tool adb apk

-2
推荐指数
2
解决办法
2556
查看次数