Android n_android 反编译

Android n_android 反编译androidN编译,可能会遇到问题,有三点相关,jdk配置不对、jack开启/运行失败、jack_vm_args。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
android N 编译

环境配置

需要使用openjdk 8,所以,有两种方法:

方法一: sudo apt-get update; sudo apt-get install openjdk-8-*


先确保/etc/apt/source.list正确,update不出错。

甲骨文官网上的jdk不行,它是jdk se,不适用于我正在使用的平台 android N 的编译。

3、编译问题处理

遇到最后显示ninja的,如果不能立即找出错误,搜索jack关键字,多是因为jack不能正确开启、运行有关的。

问题一:

Starting build with ninja

ninja: Entering directory `.’

ninja: error: ‘out/target/product/msm8953_64/obj_arm/SHARED_LIBRARIES/libqct_resampler_intermediates/export_includes’, 

needed by ‘out/target/product/msm8953_64/obj_arm/SHARED_LIBRARIES/libaudioresampler_intermediates/import_includes’, 

missing and no known rule to make it

make: *** [ninja_wrapper] Error 1

解决:配置好java环境和jack_vm_args。

# set java 8
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

# set for android N build

export ANDROID_JACK_VM_ARGS=”-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g”

echo “ANDROID_JACK_VM_ARGS=$ANDROID_JACK_VM_ARGS”

问题二:

FAILED:Jack server failed to (re)start, try ‘jack-diagnose’ or see Jack server log

No Jack server running. Try ‘jack-admin start-server’

……

ninja: build stopped: subcommand failed.

make[1]: *** [ninja_wrapper] Error 1

解决:

A:prebuilts/sdk/tools/jack-admin 文件,在 JACK_SERVER_COMMAND=“…… -cp ……” -cp 前添加-Xmx7000m(7000m为内存大小的一半左右,根据所用的主机配置而定)

测试jack-admin kill-server/start-server 命令,看start-server是否能够成功运行。

B:通过查看文件 $HOME/.jack-server/logs/jack-server-*.log

“ServerException: ‘./config.properties’ musthave permission rw——- but have rwx——

Caused by: java.io.IOException: ‘./config.properties’ must have permissionrw——- but have rwx——”

如果有权限问题,根据提示修改对应文件的权限即可。不过我没遇到过

问题三(这log我没遇到过):

com.android.jack.server.api.v01.ServerException: Problem while opening service port

        at com.android.jack.server.JackHttpServer.start(JackHttpServer.Java:611)

        at com.android.jack.server.JackServerImpl.run(JackServerImpl.java:62)

        at com.android.jack.launcher.ServerLauncher$3.run(ServerLauncher.java:391)

        at java.lang.Thread.run(Thread.java:745)

Caused by: java.net.BindException: Address already in use

……

解决:

需要同时修改 $HOME/.jack-server/config.properties 和 $HOME/.jack-setting 中的端口号,方才有效,

可以在别的用户启动了jack server的情况再启动另一个jack server,这样就可以实现多用户同时编译,

jack.server.service.port=8076 

jack.server.admin.port=8077

以上,若有帮助,点个赞咯~

###############################################################################################

下面是搜的英文资料,但是并没有解决上面的共性问题,可做尝试,毕竟大家遇到的情况可能不同,有人曾解决过自己的问题

sudo aptitude install libcurl4-openssl-dev nss-updatedb 

Also, jack server doesnt start if you only delete the ‘.jack-server’ folder (found out that you must also clear the ‘out’ folder
 in that case, otherwise the folder doesnt get rebuilt). 

I think I finally found a neat and elegant solution – just turn off the damn jack server in build/core/configure_local_jack.mk
 by changing the line:
LOCAL_JACK_ENABLED := $(strip $(LOCAL_JACK_ENABLED))
into:
LOCAL_JACK_ENABLED := #$(strip $(LOCAL_JACK_ENABLED))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196656.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • boost::lockfree使用介绍

    boost::lockfree使用介绍boost::lockfree是boost1.53引入的无锁数据结构,包括boost::lockfree::stack、boost::lockfree::queue和boost::lockfree::spsc_queue三种,前两种用于多生产者/多消费者场景,第三个用于单生产者/单消费者场景,下面对它们的使用进行详细介绍,以boost::lockfree::stack为例,其他类似。构造boo…

  • 莫兰指数(Moran’s I)的小总结

    莫兰指数(Moran’s I)的小总结莫兰指数分为全局莫兰指数(GlobalMoran’sI)和局部莫兰指数(LocalMoran’sI),前者是PatrickAlfredPierceMoran开发的空间自相关的度量;后者是美国亚利桑那州立大学地理与规划学院院长LucAnselin教授在1995年提出的。通常情况,先做一个地区的全局I指数,全局指数只是告诉我们空间是否出现了集聚或异常值,但并没有告诉我们在哪里出…

  • python menuconfig_如何配置 ESP32 Menuconfig

    python menuconfig_如何配置 ESP32 Menuconfig如何配置ESP32Menuconfig准备我们可以有2种方式进入menuconfig模式1在Eclipse界面启动MenuConfigTarget(需参照如何使用安信可ESP系列一体化开发环境IDF章节);2打开Cygwin.bat,进入工程目录,执行makemenuconfig指令。这2种方法最终实现的效果都是一致的,您可以根据自己的需要进行选择。介绍执行…

  • C语言初学者如何做出美观的图形界面(附源码及完整文件)

    C语言初学者如何做出美观的图形界面(附源码及完整文件)地方

  • mysql 0xc0000005_duilib菜单开发遇见“0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突”…

    mysql 0xc0000005_duilib菜单开发遇见“0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突”…我的程序是这样一个逻辑。首先创建用户列表,点击列表项弹出菜单,点击菜单上“设备选项”,弹出设备列表,上面显示这个用户拥有的设备。菜单的创建参考了这为博主的教程:http://www.cnblogs.com/Alberl/category/520438.html如图点击列表项,弹出菜单中点击“设备”,运行新的窗口“设备列表”。接下来问题出现了,上面操作重复两遍,会在第二次关闭设备列表的时候发生…

  • IntelliJ IDEA安装教程(超详细)「建议收藏」

    IntelliJ IDEA安装教程(超详细)「建议收藏」IDEA安装教程目录一、JDK的彻底卸载(选做)二、JDK的安装三、IDEA的安装四、IDEA的“扩展”教程五、代码测试六、Error:Cannotdeterminepathto’tools.jar’libraryfor17(D:\jdk-17.0.1)报错的解决方案七、说明写在前面:JDK版本要与IDEA版本相匹配,不然会报错嗷(即:第六节所示)!因为我之前有JDK,所以为了更好的演示,我先把JDK17卸载了。如果你有JDK请查看你的JDK版本后进行第二步(…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号