首页
社区
课程
招聘
[求助]关于用adb shell am start启动程序报错的问题
发表于: 2016-5-1 16:58 6064

[求助]关于用adb shell am start启动程序报错的问题

2016-5-1 16:58
6064
第一次用ida调试.so,遇到不少问题。
具体做法是参考的这个帖子的
http://www.52pojie.cn/thread-398266-1-1.html

现在到启动app这步报错
Starting: Intent { cmp=com.aniplex.fategrandorder/.UnityPlayerNativeActivity }
java.lang.SecurityException: Permission Denial: starting Intent { ***=0x10000000
cmp=com.aniplex.fategrandorder/.UnityPlayerNativeActivity } from null (pid=2404
5, uid=2000) not exported from uid 10162
        at android.os.Parcel.readException(Parcel.java:1540)
        at android.os.Parcel.readException(Parcel.java:1493)
        at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerN
ative.java:2589)
        at com.android.commands.am.Am.runStart(Am.java:768)
        at com.android.commands.am.Am.onRun(Am.java:307)
        at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
        at com.android.commands.am.Am.main(Am.java:102)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:255)

我搜了下貌似是因为Manifest里设置了不能外部调用。
那我是不是应该去修改一下Manifest再重新打个包?如果是的话,我现在用apkide反编译不了这个apk应该怎么办。
apkide报错:
正在反编译Apk...  - 失败: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: 0x00000001
        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

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
上面这个问题搞定了,是因为我找的程序入口点不对。但是还有其他问题

到jdb这一步
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
报错
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:189)
        at java.net.SocketInputStream.read(SocketInputStream.java:121)
        at com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:130)
        at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:232)
        at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)
        at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:90)
        at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)
        at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)
        at com.sun.tools.example.debug.tty.Env.init(Env.java:63)
        at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)

致命错误:
无法附加到目标 VM。
2016-5-1 19:31
0
雪    币: 3593
活跃值: (779)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
4
需要开启ddms呀楼主,这样调试端口才会开启
2016-5-4 10:20
0
游客
登录 | 注册 方可回帖
返回
//