编程(Android)
May 19

apktools工具反编译报错Exception in thread “main” brut.androlib.AndrolibException: Could not decode的处理

使用apktools反编译apk时,输入命令:apktool.bat  d test.apk
此时,可能会报bug:
     Exception in thread “main” brut.androlib.AndrolibException: Could not decode
C:\mysoft\反编译Android>cd apktool

C:\mysoft\反编译Android\apktool>apktool d itlife365.com.apk
I: Using Apktool 2.0.0 on com.wifi99.android.locationcheater.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:52)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:538)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:63)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:55)
        at brut.androlib.Androlib.getResTable(Androlib.java:64)
        at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:209)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:92)
        at brut.apktool.Main.cmdDecode(Main.java:165)
        at brut.apktool.Main.main(Main.java:81)
Caused by: java.io.IOException: Expected: 0x00000008, got: 0x00000000
        at brut.util.ExtDataInput.skipCheckShort(ExtDataInput.java:56)
        at brut.androlib.res.decoder.ARSCDecoder.readValue(ARSCDecoder.java:238)
        at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:201)
        at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:189)
        at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:157)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:114)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:78)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
        ... 8 more
这个问题,就是apktool.jar比较老旧的问题。
到官网下载最新版本的然后重新命名为apktools.jar
下载官网:需要翻墙
https://ibotpeaches.github.io/Apktool/install/
http://ibotpeaches.github.io/Apktool/
对应平台下载,更新即可。

 

重新下载后的编译如下:
C:\mysoft\反编译Android\apktool>apktool d itlife365.com.apk
Destination directory (C:\mysoft\反编译Android\apktool\com.wifi99.android.locationcheater) already exists. Use -f switch if you want to overwrite it.

C:\mysoft\反编译Android\apktool>apktool d itlife365.com.apk
I: Using Apktool 2.3.3 on com.wifi99.android.locationcheater.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (C:\Users\play\AppData\Local\apktool\framework), using C:\Users\play\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: C:\Users\play\AppData\Local\Temp\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

C:\mysoft\反编译Android\apktool>

Mar 26
 Android 忘记锁屏密码的解决办法参考
Android手机忘记锁屏密码怎么办?除重新刷包或者wipe data外,还可用adb来删除密码(个别手机可能行不同,因为需要打开usb开关,没有密码怎么打开呢)。
1、手机连接电脑,在充电模式下进行。
2、在电脑上解压adb.zip后,把adb文件放在电脑C盘根目录下。
3、点击电脑开始>运行>输入cmd>再就进cmd
4、输入
cd c:\adb (你的目录)
5、再输入
adb shell
6、然后再输入
cd data/system
7、输入
ls
比如:
D:\mysoft\android\AppData\Local\Android\sdk\platform-tools>adb shell
error: device offline

shell@android:/data/system $ pwd
pwd
/data/system
shell@android:/data/system $ ls *.key
ls *.key
gesture.key
mdb_pub.key
password.key
shell@android:/data/system $
查看data/system里面的文件

8、几种锁解锁方法:解密码锁方法:
可以看到有一个password.key的文件,这个就是密码的文件,我们就是把这个给删除就可以了!
★输入
rm password.key

进行删除
解图案锁方法:
可以看到有一个gesture.key 的文件,这个就是密码的文件,我们就是把这个给删除就可以了!

★输入
rm gesture.key
进行删除
9、输入reboot或手动重启手机生效。(其实,不用重启也可以的了,直接解锁,密码怎么滑都对,最好还是重启一下呗.)

android-forget password solve by adb
Tags: ,
Mar 26
在使用adb.exe命令的时候提示 error:device not found的原因 
error: device not found 一般是因为手机的USB功能没有打开导致,开发组选项 的USB 放开就可以了。


Tags:
Jun 9

--begin by itlife365
android studio gradle building 的时候报错 java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\jre\bin\net.dll: %1 不是有效的 Win32 应用程序,导致代码都不能编译和运行 。 原来是JDK的版本设置错误了,32位的操作系统给人家设置成了64位的了。
错误如下:
Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Failed to instantiate [ch.qos.logback.classic.LoggerContext]
Reported exception:
java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\jre\bin\net.dll: %1 不是有效的 Win32 应用程序。
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
.......... 
 at org.gradle.launcher.daemon.bootstrap.DaemonMain.<clinit>(DaemonMain.java:51)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at java.lang.Class.newInstance(Class.java:379)
 at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:52)
 at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
 at org.gradle.launcher.daemon.bootstrap.GradleDaemon.main(GradleDaemon.java:22)

FAILURE: Build failed with an exception.

* What went wrong:
Could not create service of type DaemonContext using DaemonServices.createDaemonContext().

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


解决方法:
原来是JDK的版本设置错误了,32位的操作系统给人家设置成了64位的了。
哪里设置呢? 菜单 file->other seting ->default project structure 
  图文设置参考 http://itlife365.com/blog/post/how-to-config-Android-Studio-JDK-SDK.php
android android-studio gradle
--end by itlife365

Jun 8
如何更改Android Studio中的JDK和SDK的路径
这个对于很多刚转到Android Studio上的来说,确实是一个问题。可能你在设置里面找了很久都没找到这个选项。
直接上图吧,按下图就可以找到设置的地儿了,然后直接设置到你SDK或者JDK的路径即可:



how to config Android Studio JDK SDK
分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]