第一个Tweak程序,make可以,但是make package出错。make: *** [internal-package] Error 2

我也看了论坛中别人发的类似错误的贴子,不过我还是没有解决。求大神帮帮忙。
我是10.10.2的OS X Yosemite. 移动设备是越狱的7.1.2版本的iPad 2

这是终端运行出错信息:
admintekiMBP:iosreproject admin$ make clean
rm -rf ./obj
rm -rf “/Users/admin/mullenwg/Code/iosreproject/_”
admintekiMBP:iosreproject admin$ make package
Making all for tweak iOSREProject…
Preprocessing Tweak.xm…
Compiling Tweak.xm…
Linking tweak iOSREProject…
Stripping iOSREProject…
Signing iOSREProject…
Making stage for tweak iOSREProject…
make: *** [internal-package] Error 2

我的Makefile信息:(也已经通过OpenSSH成功SSH到我的iPad 2了)
THEOS_DEVICE_IP = 192.168.0.186
ARCHS = armv7

include theos/makefiles/common.mk

TWEAK_NAME = iOSREProject
iOSREProject_FILES = Tweak.xm
iOSREProject_FRAMEWORKS = UIKit

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
install.exec “killall -9 SpringBoard”

=》如果在我的Makefile文件里,加了TARGET=iphone:7.1:7.0 , 又会提示:
admintekiMBP:iosreproject admin$ make package install
Your current SYSROOT, “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk”, appears to be missing.
make: *** [before-all] Error 1

1 个赞

对应10.10版本的MACPorts,之前也是成功安装了的。

<img

运行make package messages=yes,然后把输出贴上来看看

和 make package的输出是一样的。

命令输错了,对着我写的重输一下

在执行make package messages=yes前也执行了make clean了的。
请大大帮忙看下。

貌似是dpkg-deb的问题,你的dpkg-deb是从dm.pl来的吗?

非常感谢大大。现在可以了。

原来我是从https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl,把网页内容复制下来,在记事本里保存后,再修改名字与后缀。
现在我从https://github.com/DHowett/dm.pl直接下载文件,修改文件名后,就可以了。

非常感谢。

我的必须再windows下改名才可以使用,mac改名 后放到终端 后缀名不变。。。dpkg-deb.pl

可能是你的系统把后缀名给隐藏了……

在finder里面 果然没有勾上 显示扩展名。。。还没测试是不是这个问题~已经用windows解决这个无奈的问题了~哈哈,不过话说我在 - (void)applicationDidFinishLaunching:(id)application 里面用gcd 编译不通过,用 performSelector 重启进safemod,我也是醉了~天真的以为跟app开发是一样一样的呢~

我的错误信息竟然是这个,
ERROR: package name has characters that aren’t lowercase alphanums or ‘-+.’.
make: *** [internal-package] Error 255

不能有大写字母。

我重新创建了都是小写的工程就可以了。

1 个赞

之前包含大写字母是可以的,最近我升级了theos貌似不行了,必须得把control里的Package改掉

或者修改dm.pl脚本

die "ERROR: package name has characters that aren't lowercase alphanums or '-+.'.\n" if($control_data{"package"} =~ m/[^a-z0-9+-.]/);

改为

die "ERROR: package name has characters that aren't lowercase alphanums or '-+.'.\n" if($control_data{"package"} =~ m/[^A-Za-z0-9+-.]/);

不太清楚为什么不允许有大写字母,不知道改了有什么影响

1 个赞


帮忙看看是什么情况吧?小白一个,论坛搜索不出来

在control文件将Package都改成小写的如 :Package: com.iosre.weibofuntweak

1 个赞